Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Datetime-Objekte genau in Epochenzeit konvertieren?

Wie kann ich Python-Datetime-Objekte genau in Epochenzeit konvertieren?

Patricia Arquette
Freigeben: 2024-11-20 12:49:14
Original
950 Leute haben es durchsucht

How Can I Accurately Convert Python Datetime Objects to Epoch Time?

Konvertieren von Python Datetime in Epoche mit strftime: Aufdeckung von Zeitzonendiskrepanzen

Um die Anzahl der Sekunden seit der Epoche aus einer UTC-Datumszeit zu erhalten, Entwickler verlassen sich oft auf die strftime-Funktion. Wie jedoch in dieser Frage gezeigt, kann die Verwendung von strftime('%s') zum Konvertieren eines Datums/Uhrzeit in eine Epoche aufgrund von Zeitzonenanpassungen zu ungenauen Ergebnissen führen.

Warum die Diskrepanz?

Strftime berücksichtigt standardmäßig die Zeitzone des Systems in seinen Berechnungen. Infolgedessen wird eine implizite Zeitzonenverschiebung angewendet, was zu einer falschen Epochenkonvertierung für Datums- und Uhrzeitangaben in bestimmten Zeitzonen führt.

Lösungen für eine genaue Konvertierung

Um durch Zeitzonen verursachte Ungenauigkeiten zu vermeiden , ziehen Sie diese alternativen Ansätze in Betracht:

  • Python 3.3 und höher:Verwenden Sie die Methode timestamp(), die einen genauen Zeitstempel in Gleitkommasekunden seit der Epoche zurückgibt, ohne Zeitzonenanpassungen .
datetime.datetime(2012, 4, 1, 0, 0).timestamp()
Nach dem Login kopieren
  • Python 3.2 und früher: Berechnen Sie explizit die Gesamtsekunden seit der Epoche.
(datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()
Nach dem Login kopieren

Vorsicht vor der Verwendung von strftime('%s')

Es ist wichtig zu beachten, dass von der Verwendung von strftime('%s') für die Epochenkonvertierung abgeraten wird. Dies liegt daran, dass strftime „%s“ nicht explizit als Formatierungsargument unterstützt. Seine Kompatibilität ergibt sich aus der strftime-Implementierung des zugrunde liegenden Systems, die ein zeitzonenspezifisches Verhalten einführt. Diese Inkonsistenz kann zu falschen Ergebnissen führen und es zu einer unzuverlässigen Methode für die tragbare Epochenkonvertierung machen.

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Datetime-Objekte genau in Epochenzeit konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage