Hi,
bin hier auf ein Merkwürdiges Problem gestoßen:
ich habe folgenden Code:
idate('H', $time);
$time ist in meinem Fall "84448".
Wenn ich aber mit date oder idate damit die Stunden rausfinden will, gibt er mir 0 zurück. Ich hab jetzt mal ein bisschen rumgerechnet und prinzipell versteh ich den Fehler auch irgendwo, aber ich habe da eine größere If-Abfrage, die mir einen Timestamp in Sekunden, Minuten, Stunden und Tagen ausgibt. Ab 7 Tagen wird das volle Datum angezeigt.
Hier der Code (ich glaub da liegt irgendwo ein Denkfehler, aber der Rest funktioniert bis jetzt immer tadellos):
PHP
function getpostdate( $time )
{
$dif = time() - $time;
$done = "";
if($dif > 604800) // 604800 = Eine Woche in Sekunden
{
$done = date("d.m.Y", $time);
} elseif($dif > 86400) // 86400 = Tag in Sekunden
{
$days = idate( 'd', $dif );
if($days > 1)
$done = $days . ' Tagen';
else
$done = 'einem Tag';
} elseif($dif > 3600) // 3600 = 1 Std
{
$hours = idate('H', $dif);
if($hours > 1)
$done = $hours . ' Stunden';
else
$done = 'einer Stunde';
} elseif($dif > 60)
{
$minutes =idate('i', $dif);
if($minutes > 1)
$done = $minutes . ' Minuten';
else
$done = 'einer Minute';
} else {
$seconds=idate('s', $dif);
if($seconds > 1)
$done = $seconds . ' Sekunden';
else
$done = 'Gerade eben';
}
return $dif;
}
Alles anzeigen
Hat da jemand ne Idee ?
EDIT:
Ich schätze, dass es übrigens mit den Zeitzonen GMT+1 zu tun hat ...
Lg