![]() |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Zitat:
Und die zweite Meldung bekommst du weg, wenn du abfragst, ob es die funktion gibt, und dann ggf. aufrufst .. Oder rede ich da jetzt totalen Müll? :drunken: |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Moin,
error_reporting einfach auf E_ALL (ist bei PHP5 noch ohne E_STRICT) stellen, und das wars:
Code:
Greetz
error_reporting(E_ALL);
alcaeus |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
@Julius: Hm, das funktioniert bei mir leider nicht. Lokal ich bei mir time() das gleiche wie gmmktime() und date('Z') aber trotzdem 7200. :?
@Andy: Klar, dann sind die Fehler/Warnungen unterdrückt, aber das ist auch nicht das, was ich eigentlich gerne hätte. Das ist ja fast wie ein
Delphi-Quellcode:
*g*
try
// ... except end; |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Aber ist time() nicht gmtUTC ??
|
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Normalerweise müsste time() die am Server eingestellte Zeitzone verwenden (wenn nicht per PHP anders gesetzt).
Daher sehe ich das gerade als etwas widersprüchlich ein, weil date('Z') eine Differenz vorgibt. |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Könnte es nicht sein, dass date(Z) genau die differenz angibt, die du aufaddieren musst, um aus time() die lokale zeit zu machen?
In der Doku von time() steht zumindest was von gmt ;) |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Zitat:
![]() Zitat:
Code:
Greetz
$utc_time = time() - date('Z') - (date('I') * 3600);
alcaeus |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Zitat:
Zitat:
|
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Zitat:
Greetz alcaeus |
Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?
Also nun verstehe ich gar nichts mehr.
Das hier:
Code:
liefert mir
$utc_time = time() - date('Z') - (date('I') * 3600);
echo date('d.m.Y G:i:s',$utc_time).' (utc von Andy) '; date_default_timezone_set('Europe/Berlin'); echo date('d.m.Y G:i:s').' (Berlin) '; date_default_timezone_set('Europe/London'); echo date('d.m.Y G:i:s').' (London) '; echo date('d.m.Y G:i:s', time()) . ' (time)';
Code:
In Berlin ist normalerweise GMT+1 und im Sommer GMT+2. Aber Andys Zeit wäre dann ja GMT-1 (oder falls UTC = GMT eben UTC-1). :freak:
07.09.2008 15:17:38 (utc von Andy)
07.09.2008 18:17:38 (Berlin) 07.09.2008 17:17:38 (London) 07.09.2008 17:17:38 (time) Edit:
Code:
liefert
echo date("d.m.Y G:i:s Z", 0);
Code:
Daher schließe ich daraus, dass irgenwas GMT+1 (= Serverzeitzone) sein muss, sonst stünde da 00:00:00, aber ich weiß auch nicht so genau. Das ist alles irgendwie unlogisch.
01.01.1970 1:00:00 3600
Edit 2: Nun verstehe ich noch weniger. Julius' Vorschlag mit
Code:
liefert nun das korrekte Ergebnis. date() bzw time() enthält somit die Serverzeitzone inklusive Sommerzeit.
time() - date('Z')
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz