Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiert man ein Python-Datetime-Objekt präzise in Epoch Time, ohne strftime(\'%s\') zu verwenden?

Wie konvertiert man ein Python-Datetime-Objekt präzise in Epoch Time, ohne strftime(\'%s\') zu verwenden?

DDD
Freigeben: 2024-11-20 04:53:01
Original
354 Leute haben es durchsucht

How to Accurately Convert a Python datetime Object to Epoch Time Without Using strftime('%s')?

Python-Datetime in Epoche mithilfe von strftime konvertieren

Ursprünglich bestand das Ziel darin, eine UTC-Zeit in die Anzahl der Sekunden seit der Verwendung der Epoche umzuwandeln strftime. Bei Verwendung von strftime mit dem Format „%s“ wich der resultierende Wert jedoch um eine Stunde von der erwarteten Epochenanzahl ab. Die Untersuchung dieser Diskrepanz ergab, dass strftime die Systemzeit berücksichtigt und sich an Zeitzonenunterschiede anpasst, obwohl Datum und Uhrzeit als naiv gelten.

Lösung

Um dieses Problem zu lösen, sollten Sie Folgendes in Betracht ziehen die folgenden Alternativen:

Python 3.3 und höher

  • Verwenden Sie die timestamp()-Methode von datetime:

    >>> datetime.datetime(2012, 4, 1, 0, 0).timestamp()
    1333234800.0
    Nach dem Login kopieren

Python 3.2 und früher

  • Berechnen Sie explizit die Differenz zwischen der angegebenen Datumszeit und der Epochen-Datumszeit:

    >>> (datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()
    1333238400.0
    Nach dem Login kopieren

Achtung: strftime('%s') vermeiden

Es ist wichtig zu beachten, dass datetime den Formatbezeichner „%s“ für strftime nicht offiziell unterstützt. Seine aktuelle Funktionalität beruht auf der Interaktion mit der strftime-Implementierung des Systems, die Zeitzonenunterschiede anpasst. Die Verwendung von strftime('%s') kann aufgrund möglicher Zeitzonenschwankungen zu inkonsistenten Ergebnissen führen.

Das obige ist der detaillierte Inhalt vonWie konvertiert man ein Python-Datetime-Objekt präzise in Epoch Time, ohne strftime(\'%s\') zu verwenden?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage