Ich habe Tausende von Fotos, die in Tansania aufgenommen wurden, und ich möchte das Datum und die Uhrzeit der Aufnahme jedes Fotos in einer MySQL-Datenbank speichern. Der Server befindet sich jedoch in den USA und ich habe Probleme, wenn ich versuche, eine tansanische Datums- und Uhrzeitangabe zu speichern, die während der Sommerzeit (in den USA) innerhalb der "ungültigen" Stunde liegt. Tansania führt keine Sommerzeit durch, daher ist die Zeit eine tatsächlich gültige Zeit.
Zusätzliche Komplikationen sind, dass es Mitarbeiter aus vielen verschiedenen Zeitzonen gibt, die auf die in der Datenbank gespeicherten Datums- und Uhrzeitwerte zugreifen müssen. Ich möchte, dass sie immer als tansanische Zeit herauskommen und nicht in der lokalen Zeit, in der sich verschiedene Mitarbeiter befinden.
Ich zögere es, Sitzungszeiten festzulegen, da ich weiß, dass es Probleme geben wird, wenn jemand manchmal vergisst, eine Sitzungszeit festzulegen, und die Zeiten falsch angegeben werden. Und ich habe keine Berechtigung, etwas am Server zu ändern.
Ich habe gelesen: Best Practices für Sommerzeit und Zeitzone sowie MySQL-Datums- und Uhrzeitfelder und Sommerzeit - wie verweise ich auf die "zusätzliche" Stunde? und Speichern von datetime als UTC in PHP / MySQL
Aber keiner von ihnen scheint mein spezielles Problem anzusprechen. Ich bin kein SQL-Experte. Gibt es eine Möglichkeit, die Zeitzone beim Festlegen von DATETIMEs anzugeben? Ich habe keinen gesehen. Ansonsten sind Vorschläge zur Lösung dieses Problems sehr willkommen.
Bearbeiten: Hier ist ein Beispiel für das Problem, auf das ich stoße. Ich sende den Befehl:
INSERT INTO Images (CaptureEvent, SequenceNum, PathFilename, TimestampJPG)
VALUES (122,1,"S2/B04/B04_R1/IMAG0148.JPG","2011-03-13 02:49:10")
Und ich bekomme den Fehler:
Error 1292: Incorrect datetime value: '2011-03-13 02:49:10' for column 'TimestampJPG'
Dieses Datum und diese Uhrzeit existieren in Tansania, jedoch nicht in den USA, wo sich die Datenbank befindet.