python - datetime mit Zeitzone zu Epoche

8

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!

    
t0x13 28.08.2012, 18:57
quelle

3 Antworten

6

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.

%Vor%

(Ursprüngliche Antwort redigiert)

    
unutbu 28.08.2012, 19:42
quelle
21

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):

%Vor%

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 .

    
jfs 23.06.2013 02:22
quelle
0

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%     
andrew cooke 23.06.2013 01:21
quelle

Tags und Links