Heim > Artikel > Backend-Entwicklung > Wie kann ich einem datetime.time-Objekt in Python Sekunden hinzufügen?
Hinzufügen von Sekunden zu datetime.time in Python
Das Hinzufügen einer ganzzahligen Anzahl von Sekunden zu einem datetime.time-Wert in Python ist nicht sofort einfach . Versuche, ein Timedelta oder ein anderes datetime.time-Objekt hinzuzufügen, führen zu Fehlern.
Naive Ansätze
Grundlegende Versuche wie:
<code class="python">datetime.time(11, 34, 59) + 3 datetime.time(11, 34, 59) + datetime.timedelta(0, 3) datetime.time(11, 34, 59) + datetime.time(0, 0, 3)</code>
alle schlägt mit Typfehlern fehl.
Manuelle Konvertierung
Eine Lösung besteht darin, datetime.time in Sekunden umzuwandeln, die gewünschten Sekunden hinzuzufügen und dann das datetime.time-Objekt zu rekonstruieren:
<code class="python">def add_secs_to_time(timeval, secs_to_add): secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second secs += secs_to_add return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)</code>
Verwendung von datetime.datetime
Eine bequemere Methode besteht darin, ein vollständiges datetime.datetime-Objekt zu verwenden, es auf ein Dummy-Datum festzulegen und dann die Uhrzeit zu verwenden ()-Methode, um nur den Zeitwert abzurufen. Zum Beispiel:
<code class="python">a = datetime.datetime(100, 1, 1, 11, 34, 59) b = a + datetime.timedelta(0, 3) print(a.time()) print(b.time())</code>
Ergebnisse in:
11:34:59 11:35:02
Alternativ können Sie Folgendes verwenden:
<code class="python">b = a + datetime.timedelta(seconds=3)</code>
Benutzerdefinierte Funktion
Wenn eine benutzerdefinierte Funktion gewünscht wird, können Sie eine definieren, die die addSecs-Methode verwendet:
<code class="python">import datetime def addSecs(tm, secs): fulldate = datetime.datetime(100, 1, 1, tm.hour, tm.minute, tm.second) fulldate = fulldate + datetime.timedelta(seconds=secs) return fulldate.time()</code>
Diese Methode akzeptiert ein datetime.time-Objekt und eine Ganzzahl, die die Anzahl der hinzuzufügenden Sekunden darstellt, und gibt die zurück geänderte Zeit.
Das obige ist der detaillierte Inhalt vonWie kann ich einem datetime.time-Objekt in Python Sekunden hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!