Andreas Korthaus: /LINUX: Was tun gegen falsche Uhrzeit?

Beitrag lesen

Hallo!

Nein, du MUßT in PHP die Funktion locatime() verwenden um die lokale Uhrzeit zu bekommen, time() liefert IMMER die UTC-Sekunden zurück. Du solltest also deine Scripte anpassen, und nicht die TZ-Einstellungen.

Also das würde jetzt wirklich alles über den Haufen werfen was ich seit 2 Jahren mit Zeifunktionen mache! Wofür gibt es dann date() und time()?

Im übrigen sind das keine PHP-Funktionen, sondern Aufrufe in die Systembibliothek.

date() und time() sind keine PHP-Funktionen? Natürlich sind sie das: http://de2.php.net/manual/de/ref.datetime.php
"Datums- und Zeit-Funktionen(!)"

Und wenn date z.B. immer GMT ausgibt, dann sag mir mal jemand warum es dann so eine Funktion gibt:

Wenn du dir mit locatime() die lokaliserte Zeit holst, kannst du später trotzdem via gmdate() die Zeit in UTC/GTM ausgeben, d.h. die Zeit würde zweimal umgerechnet (GMT->CEST->GMT).

exakt, und mit date die lokale Zeit!

http://de2.php.net/manual/de/function.date.php
"date() Gibt einen formatierten String anhand eines vorzugebenden Musters zurück. Dabei wird entweder der angegebene Timestamp oder die gegenwärtige lokale Zeit berücksichtigt, wenn kein Timestamp angegegeben wird. Mit anderen Worten ausgedrückt: der Parameter Timestamp ist optional und falls dieser nicht angegeben wird, wird der Wert der Funktion time() angenommen."

Demnach müsste PHPs Date dasselbe zurückgeben wir date in der Shell, aber das tut es nicht. Und  ich weiß beim besten Willen nicht wieso.

Vielleicht liegt es daran dass die Hardwae-Zeit ebenfalls auf meienr lokalen Zeit steht:

/sbin/hwclock --systohc --utc

bringt da gar nichts, die ausgegeben Zeit ist und bleibt die lokale

Fri 11 Jul 2003 12:42:56 PM CEST  0.707042 seconds

in der Shell/Konsole einfach "set" eingeben, und schon bekommst du die Liste der Umgebungsvariablen, wo evtl. auch dieses grußelige TZ drin stehen könnte.

Ne, die steht d nicht, nur:

_=hwclock

Grüße
Andreas