Autor Beitrag
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Fr 05.12.08 22:55 
Hallo,

es besteht ja die Möglichkeit per strtotime("today") sich die Zeit zu holen, wann der Tag (nach der Serverzeit) begonnen hat. Allerdings habe ich festgestellt, dass strtotime ungefähr Faktor 10-20 langsamer ist, als das einfache time() und ersteres auch noch Hinweise erzeugt ... .

Nun wollte ich es per time() selber berechnen - leider gibt es diverenzen:
ausblenden Quelltext
1:
2:
echo strtotime("today")." - "; //=1228431600
echo floor(time() / 86400)*86400; //=1228435200


In der php.ini ist date.timezone allerdings nicht gesetzt. Woran könnte der Unterschied liegen und wie bekomme ich den Weg?

Grüße
Heiko
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Sa 06.12.08 11:59 
Der Unterschied ist 3600, ich nehme an das kommt von GMT+1, d.h. hat doch mit der Zeitzone zu tun. Kenne Delphi4PHP leider überhaupt nicht.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 06.12.08 13:45 
Die Frage ist welche PHP-Version dabei benutzt wird. Seit 5.1 (aber noch nicht bei 5.0) gibt es da eine andere Einbindung der Zeitzonen. Seit 5.1 sollte die eigentlich bei jeder Zeitroutine gleich sein.

Vorher (5.0 und früher) gilt für strtotime() "This function will use the TZ environment variable[...]" und bei time steht davon gar nix, vielleicht gab es da Unterschiede.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Sa 06.12.08 13:59 
Also ich benutzte php5.2.x

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Vorher (5.0 und früher) gilt für strtotime() "This function will use the TZ environment variable[...]" und bei time steht davon gar nix, vielleicht gab es da Unterschiede.

Jepp, genau diesen Hinweis will ich auch weg haben. Der Hinweis kommt dadurch zu stande, dass strtotime von der Zeittone abhängt, time dagegen nicht. Die Zeitzonendifferenz bekomme ich übrigens mit date("Z") heraus - allerdings ist das noch nen stückchen langsamer als strototime (strtotime braucht 15ms und date 45ms)