Wie füge ich Sekunden zu einem datetime.time-Objekt in Python hinzu?

Linda Hamilton
Freigeben: 2024-10-31 10:26:17
Original
225 Leute haben es durchsucht

How to Add Seconds to a datetime.time Object in Python?

Hinzufügen von Sekunden zu datetime.time in Python

Entwickler stehen häufig vor der Notwendigkeit, Zeitwerte in Python zu manipulieren. Unter den verschiedenen datetime-Komponenten stellt datetime.time eine Tageszeit ohne Datumskomponente dar. Um einem datetime.time-Objekt eine ganzzahlige Anzahl von Sekunden hinzuzufügen, benötigen wir eine standardmäßige und effiziente Methode.

Konventionelle Ansätze

Versuch, eine Ganzzahl direkt zu a hinzuzufügen Der Wert datetime.time oder die Verwendung eines timedelta mit einem Zeitobjekt führt zu Typfehlern. Benutzerdefinierte Funktionen wie add_secs_to_time() wurden entwickelt, um dieses Problem zu beheben.

Effiziente Lösung

Es gibt jedoch eine elegantere und pythonische Lösung. Durch Konvertieren des datetime.time-Objekts in eine vollständige Datetime-Instanz mit einem Dummy-Datum können wir das Timedelta nutzen, um Sekunden hinzuzufügen. Zum Beispiel:

<code class="python">import datetime

timeval = datetime.time(11, 34, 59)
secs_to_add = 3
dt = datetime.datetime(100, 1, 1, timeval.hour, timeval.minute, timeval.second)  # Dummy date
dt += datetime.timedelta(seconds=secs_to_add)
result_time = dt.time()</code>
Nach dem Login kopieren

Dieser Ansatz führt zum erwarteten Ergebnis: 11:35:02. Es behält die ursprünglichen Zeitinformationen bei und erhöht gleichzeitig die Sekunden genau.

Hilfsfunktion

Der Einfachheit halber können wir eine wiederverwendbare Funktion namens addSecs:

<code class="python">def addSecs(tm, secs):
    fulldate = datetime.datetime(100, 1, 1, tm.hour, tm.minute, tm.second)
    fulldate += datetime.timedelta(seconds=secs)
    return fulldate.time()</code>
Nach dem Login kopieren
erstellen

Mit dieser Funktion können wir datetime.time-Werte ganz einfach manipulieren:

<code class="python">a = datetime.datetime.now().time()
b = addSecs(a, 300)</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie füge ich Sekunden zu einem datetime.time-Objekt in Python hinzu?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!