phpbar.de logo

Mailinglisten-Archive

[php] Zeit-Differenz

[php] Zeit-Differenz

Roland Spielhofer h9440241_(at)_edv1.boku.ac.at
Sun, 18 Jun 2000 22:55:45 +0200


On 18 Jun 00, at 12:27, André Laugks wrote:

> Komisch, ich habe mal mehrere Möglichkeiten versucht:
> 
> $ende = mktime(12,00,00,18,6,2000);
> $anfang = mktime(12,00,00,18,6,2000);
> $diff = $ende-$anfang;
> echo "$diff<br>";
> $diff = date("z:H:i:s", $diff);
> echo "$diff<br>";
> 
> So bekomme ich auch eine Stunde raus, dabei müßte
> es ja 00:00:00:00 lauten.
> 
> 0
> 0:01:00:00
> 
> 
> Dem muß ich noch mal nach gehen, ist sehr eigenartig!
> Ich wette drum, da ist irgendein kleiner Denkfehler.
> Da muß ich noch mal die Doku lesen.
> Oder kennt hier jemanan eine Lösung?

mktime() zeigt sowieso ein seltsames Verhalten:
<?
$anfang6 = mktime(06,04,04,04,04,2000);
$anfang7 = mktime(07,04,04,04,04,2000);
$anfang8 = mktime(08,04,04,04,04,2000);
$anfang9 = mktime(09,04,04,04,04,2000);
$anfang10 = mktime(10,04,04,04,04,2000);
$diff6 = date("H:i:s, d.m.Y", $anfang6);
$diff7 = date("H:i:s, d.m.Y", $anfang7);
$diff8 = date("H:i:s, d.m.Y", $anfang8);
$diff9 = date("H:i:s, d.m.Y", $anfang9);
$diff10 = date("H:i:s, d.m.Y", $anfang10);
echo "$diff6<br>$diff7<br>$diff8<br>$diff9<br>$diff10<br>";
?>
liefert als output:
06:04:04, 04.04.2000
07:04:04, 04.04.2000
00:04:04, 04.04.2000
00:04:04, 04.04.2000
10:04:04, 04.04.2000

Scheinbar kommt mktime() mit der führenden Null bei 08 und 09 
Uhr nicht zurecht, es liefert nämlich beide male: 954799444, was -
nach ein bisschen Rechnerei - tatsächlich null Uhr entspricht.
Bei 06 und 07 Uhr ist´s aber kein Problem :-(
Das ist ja nun nicht gerade sehr vertrauenserweckend, oder?
Getestet unter PHP4.0.0/Linux & 3.0.11/win32.
Was ist da los?

Roland




php::bar PHP Wiki   -   Listenarchive