[php] Datum in Unix-TimeStamp konvertieren?

MarcDK

Banned
Registriert
Mai 2001
Beiträge
3.559
Hi Leute!

Ich habe folgendes Problem und habe schon zwei potentielle Lösungen:

Ich will das Datum was im Format yyyy-dd-mm hh:mm:ss vorliegt in einen UnixTimestamp umwandeln um herrauszufinden, wie viel Zeit seit dem jetzigen Zeitpunkt verstrichen ist.

Also mit zwei TimeStamps wüsste ich wie es geht.

Aber es kann ja auch sein, dass einer von euch sagt "Ey man, das geht doch einfacher mit dieser function() hier!"

Also, hat jemand ne Idee wie ich das bewerkstelligen kann?

Frage nochmal kurz:
Wieviel Zeit ist seit yyyy-dd-mm hh:mm:ss vergangen in Tagen, Minuten, Stunden?
oder:
Wie wandle ich yyyy-dd-mm hh:mm:ss in einen unix-timestamp um?
 
Das Datum sieht mir verdammt nach nem MySQL Timestamp aus.
Wenn das so ist, dann mach diesen hier:
Code:
SELECT UNIX_TIMESTAMP(timestampFeld) as unix_time FROM table
Wenn nicht, nimm strtotime wie Raechaer schon schrieb.
 
Ich habe es jetzt so gelöst:

// Erwartet einen Unix-Timestamp und gibt dann die Zeit die Vergangen ist aus.
function timestampDif($timestamp_past)
{
$TSnow = time();
$diff = $TSnow-$timestamp_past;
$seconds = 0;
$hours = 0;
$minutes = 0;

if($diff % 86400 <= 0) //there are 86,400 seconds in a day
{$days = $diff / 86400;}

if($diff % 86400 > 0)
{ $rest = ($diff % 86400);
$days = ($diff - $rest) / 86400;
if( $rest % 3600 > 0 )
{ $rest1 = ($rest % 3600);
$hours = ($rest - $rest1) / 3600;
if( $rest1 % 60 > 0 )
{ $rest2 = ($rest1 % 60);
$minutes = ($rest1 - $rest2) / 60;
$seconds = $rest2;
}else
$minutes = $rest1 / 60;
}else
$hours = $rest / 3600;}

if ($hours==0 && $days==0){
$retval="vor ".$minutes." Minute(n)";
}
else {
if ($days==0){
$retval="vor ".$hours." Stunde(n) ".$minutes." Minute(n)";
}
else{
$retval="vor ".$days." Tag(en) ".$hours." Stunde(n) ".$minutes." Minute(n)";
}

}



return $retval;
}

$whenPosted = timestampDif(strtotime($time));

=) Danke an alle!
 
Zurück
Oben