Mailinglisten-Archive |
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