
Ich habe ein Skript, mit dem Benutzer Daten an eine Datenbank senden können. Beim Senden der Daten wird auch ein Zeitstempel hinzugefügt. Meine lokale Zeitzone ist GMT, ebenso wie meine Serverzeit, wie in Plesk 11 eingestellt. Wenn die Daten jedoch eingehen, liegen sie aufgrund der Sommerzeit eine Stunde zurück.
Wie kann ich dem am besten entgegenwirken? Ich habe überlegt, meine Zeitzone auf -1 Stunde einzustellen, aber das scheint mir eine etwas ungeschickte Vorgehensweise zu sein.
Antwort1
Der beste Weg (meiner Meinung nach) ist, einen UTC-Zeitstempel zu schreiben. Dieser ist immer korrekt und kann in jede beliebige Zeitzone mit den entsprechenden Sommerzeitregeln konvertiert werden, die von Ihrer Anwendung und ihren Bibliotheksfunktionen berücksichtigt werden.
Antwort2
Was ist falsch daran, die native Systemzeit zu verwenden (oder die Zeit der Clientsysteme in die Zeit umzuwandeln, die für den Datenbankserver verwendet wird)? Jedes größere Betriebssystem verarbeitet die Zeitzonen-Sommerzeit nativ. (Selbst wenn sich die Sommerzeitspezifikationen ändern, werden die entsprechenden Betriebssysteme entsprechend gepatcht.)
Antwort3
Wenn Sie NTP verwenden, sollte Ihre Uhr automatisch auf Sommerzeit umgestellt werden, sofern diese Funktion in der ausgewählten Zeitzone aktiviert ist.
Aber ich stimme mit SvW überein. UTC wäre besser, wenn Sie und Ihre Kunden in unterschiedlichen Zeitzonen sind.