Im folgenden Code berechne ich jetzt Epoche und Anfang der aktuellen Tagesepoche.
%Vor%Druckanweisungen:
%Vor%Umwandlung von Epochen in Zeitstempel mit CDT-Zeitzone: 1346187141 - 28. August 2012 15:52:21, 1346137200 - 28. August 2012 02:00:00
Ich möchte, dass die zweite Epoche der Beginn des Tages ist, aber es ist 2 Uhr morgens. Es sieht aus, als ob es immer noch lokale Zeitzone PST verwendet, wenn es in Epoche konvertiert.
Was mache ich falsch? oder kann das anders gemacht werden?
Danke!
HINWEIS: Meine Antwort ist falsch. (Ich möchte sie löschen, kann dies aber nicht, bis das Akzeptieren-Flag entfernt wird.)
Siehe Antwort von J.F.Sebastian .
Hier ist Code, der einen Wert von now_tz
zeigt, für den unsere beiden Methoden unterschiedliche Ergebnisse liefern.
(Ursprüngliche Antwort redigiert)
Um eine Datetime mit Zeitzone in Epoch zu konvertieren (POSIX timestamp):
%Vor% So wird datetime.timestamp
method für zeitzonenbewusste datetime
Objekte in Python 3 implementiert.
Um "jetzt Epoche" zu erhalten:
%Vor% Oder (angenommen time
verwendet POSIX epoch):
Das "Beginnen des aktuellen Tages" ist komplexer, weil der aktuelle Tag in verschiedenen Zeitzonen unterschiedlich sein kann:
%Vor%Siehe Wie erhalte ich die UTC-Zeit von "Mitternacht" für eine bestimmte Zeitzone? .
Um "Beginn der aktuellen Tagesepoche" zu erhalten, unter der Annahme des UTC-Datums:
%Vor%Siehe datetime.date/datetime.datetime in UTC-Zeitstempel in Python konvertieren .
die neueste Version von simple-date (Version 0.2 auf pypi ) verwaltet die Details für Sie:
%Vor%Wir können rückwärts gehen, um die Zeitstempel zu überprüfen (obwohl es klar ist, dass die Zeitzone die Epoche nicht geändert hat, während sie zum Start des Tages übergegangen ist):
%Vor%