Konvertieren von Datetime-Objekten in Sekunden in Python
Bei der Arbeit mit Datetime-Objekten in Python ist es häufig erforderlich, diese für verschiedene Zwecke in Sekunden zu konvertieren analytische Zwecke. Allerdings liefert die toordinal()-Methode möglicherweise nicht die gewünschte Ausgabe, da sie nur zwischen Datumsangaben mit unterschiedlichen Tagen unterscheidet.
Um ein Datetime-Objekt genau in Sekunden umzuwandeln, insbesondere für das spezifische Datum 1. Januar 1970, Es stehen mehrere Optionen zur Verfügung. Für alle anderen Startdaten müssen Sie den Zeitunterschied zwischen den beiden Daten berechnen.
Für den 1. Januar 1970:
datetime.datetime.timestamp(): Diese Methode gibt direkt die Anzahl der Sekunden seit der Unix-Epoche zurück, die 00:00:00 UTC am 1. Januar 1970 entspricht.
<code class="python">t = datetime.datetime(1970, 1, 1) seconds = t.timestamp()</code>
time.mktime(): Die Funktion time.mktime() kann auch verwendet werden, um ein Datetime-Objekt in Sekunden seit der Unix-Epoche umzuwandeln.
<code class="python">import time t = datetime.datetime(1970, 1, 1) time_struct = t.timetuple() seconds = time.mktime(time_struct)</code>
Für jedes andere Startdatum:
timedelta.total_seconds(): Das Subtrahieren zweier Datetime-Objekte ergibt a timedelta-Objekt. Die Methode total_seconds() von timedelta liefert die Anzahl der Sekunden zwischen den beiden Daten.
<code class="python">t = datetime.datetime(2009, 10, 21, 0, 0) starting_date = datetime.datetime(1970, 1, 1) seconds = (t - starting_date).total_seconds()</code>
Es ist wichtig zu beachten, dass das Startdatum in UTC (koordinierte Weltzeit) angegeben werden sollte. für genaue Ergebnisse. Wenn Ihr Datum/Uhrzeit nicht in UTC angegeben ist, müssen Sie es konvertieren oder eine tzinfo-Klasse mit dem entsprechenden Offset anhängen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Python-Datetime-Objekte in Sekunden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!