PHP's time() und MySQL's UNIX_TIMESTAMP() liefern ja beide die Sekunden seit dem unixoiden Urknall. Eine vielleicht bescheuerte Frage die sich mir stellt: Liefern beide immer das gleiche zurück? Auch wenn der eine Server in Timbuktu und der andere in Amiland steht? Oder sollte man sich darauf beschränken immer nur eine Version zu nutzen, sollten Anwendung und Datenbank mal getrennt voneinander liegen?
time() sollte eigentlich UTC liefern, ebenso wie MySQL TIMESTAMP sollte also dann auch keine Probleme geben, man könnte natürlich gleich mit "richtigen" Datumsobjekten arbeiten ;) Auch Wikipedia merkt an: >> vergangenen Sekunden seit dem 1. Januar 1970 00:00 Uhr UTC, >> wobei Schaltsekunden nicht mitgezählt werden. (Hervorhebung von mir) http://de.wikipedia.org/wiki/Unixzeit Außerdem beachten: Jahr 2038 Problem: http://de.wikipedia.org/wiki/Unixzeit#Jahr-2038-Problem
Läubi .. schrieb: > Außerdem beachten: Jahr 2038 Problem: > http://de.wikipedia.org/wiki/Unixzeit#Jahr-2038-Problem Das Problem ist mir bewusst. In der Datenbank und in der Anwendung habe ich dafür schon bigint / 64bit vorgesehen. Ich hoffe, dass es in den nächsten 27 Jahren irgendwann mal 64bit timestamps geben wird
D. I. schrieb: > Ich hoffe, dass es in den > nächsten 27 Jahren irgendwann mal 64bit timestamps geben wird Gibt es schon, z.B. bei HP-UX seit der iA64 (Itanium), also schon einige Jahre...
D. I. schrieb: > Das Problem ist mir bewusst. In der Datenbank und in der Anwendung habe > ich dafür schon bigint / 64bit vorgesehen. Ich hoffe, dass es in den > nächsten 27 Jahren irgendwann mal 64bit timestamps geben wird selbst windows hat seit einigen Jahren time_t auf 64bit umgestellt.
Bernhard M. schrieb: > D. I. schrieb: >> Ich hoffe, dass es in den >> nächsten 27 Jahren irgendwann mal 64bit timestamps geben wird > > Gibt es schon, z.B. bei HP-UX seit der iA64 (Itanium), also schon einige > Jahre... Dann werd ich mal meinen Hoster fragen, ob er meinen Webauftritt auf so ne Kiste bringt ;) Und welche Anwendungsumgebung er mir empfiehlt
Peter II schrieb: > selbst windows hat seit einigen Jahren time_t auf 64bit umgestellt. ... und arbeitet intern schon seit 1993* mit einer 64-Bit-Zeit. Die wird aus historischen** Gründen als zwei 32-Bit-Werte in einer Struktur namens FILETIME aufbewahrt und zählt die vergangenen 100-nsec-Intervalle seit dem 1.1.1601 (UTC). *) in den erstgemeinten Versionen. Windows NT 3.1 kam 1993 auf den Markt. **) Die frühen 32-Bit-Compiler kannten keinen int64_t oder vergleichbares, deswegen sind in Windows etliche 64-Bit-Größen als aus zwei 32-Bit-Werten zusammengesetzten Strukturen aufgebaut
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.