In Entwicklung Letztes Updateated:
Teilen:
Cloudways bietet verwaltetes Cloud-Hosting für Unternehmen jeder Größe zum Hosten einer Website oder komplexer Webanwendungen.

Bei der Arbeit mit dates und Zeiten in Python müssen Sie oft berechnenate der Zeitunterschied. In diesem Tutorial lernen Sie, wie man rechnetate die Differenz zwischen zwei Zeitstempeln in Stunden, Minuten und Sekunden.

Am Ende dieses Tutorials haben Sie Folgendes gelernt:

  • wie man Pythons verwendet datetime Modul zum Arbeiten mit dates und Zeit,
  • was timedelta Objekte sind, und wie sie nützlich sind, und
  • calculate der Zeitunterschied zwischen zwei beliebigen Zeitstempeln – in Stunden, Minuten und Sekunden.

Fangen wir an.

So verwenden Sie Pythons dateZeitmodul

Um mit d zu arbeitenates und times in Python verwenden Sie die datetime Modul. Das datetime -Modul ist Teil der Python-Standardbibliothek. Sie können es also sofort in Ihre Arbeitsumgebung importieren, wie folgt:

import datetime

Um zu berechnenate Den Zeitunterschied musst du berücksichtigenate zwei unterschiedliche Zeitstempel. Sie können wählen, ob Sie erstellen möchtenate:

  • XNUMX date Gegenstände,
  • XNUMX time Objekte oder
  • eine Kombination aus beidem date und time-datetime Objekte.

Wie erstellt manate Anzeigeate Objekt in Python

Lassen Sie uns die importieren date Klasse von dateZeitmodul. Create Anzeigeate Um ein Objekt in Python zu erstellen, können Sie die allgemeine Syntax verwenden datetime.date(<year>,<month>,<day>). Hier ist ein Beispiel für die Erstellung einer date Objekt date1:

from datetime import date
date1 = datetime.date(2022,3,27)
print(date1)

# Output: 2022-03-27

Sie können den Code auf der ausprobieren Geekflare Python-Compiler zu testen. Oder, Installieren Sie Python auf deinem Computer.

Wie oben gezeigt, wenn Sie d druckenate, es ist im formatiert YYYY-MM-DD Format für dates.

Hinweis: Achten Sie darauf, den Monat als ganze Zahl anzugeben ohne jedem führenden zeros. Wahrscheinlich sind Sie es gewohnt, einen Anfang hinzuzufügen zero auf den Monat beim Aufschreiben dates.

Zum Beispiel, um eine Anzeige anzugebenate im Juni, dem 6. Monat des Jahres: Verwenden Sie 6 und nicht 06.

Versuchen Sie beispielsweise, das folgende Code-Snippet auszuführen – wobei der Monat als erwähnt wurde 03 statt nur 3. You’ll see that it throws a Syntax Error as shown:

date1 = datetime.date(2022,03,27)

print(date1)

# Error Message
File "<ipython-input-12-6eb72084e6ce>", line 1
    date1 = datetime.date(2022,03,27)
                                ^
SyntaxError: invalid token

Sehen wir uns nun an, wie man erstelltate a time Objekt in Python.

Wie erstellt manate ein Zeitobjekt in Python

Create ein Zeitobjekt, importieren wir das time Klasse. Jedes Python-Zeitobjekt kann cre seinated mit der time Klasse, indem Sie die folgenden Klassenattribute angeben: hour, minute, second und microsecond.

Alle diese Attribute sind jedoch vorhanden optional. Wenn Sie ein bestimmtes Attribut nicht angeben, sagen wir: second, es ist eingestellt 0 standardmäßig.

Der folgende Codeausschnitt zeigt, wie Sie erstellen könnenate ein Zeitobjekt time1. Wie bei der date Objekt können Sie ausdrucken time Objekt, um die formatierte Uhrzeit anzuzeigen.

from datetime import time
time1 = datetime.time(13,27,45,4600)
print(time1)

# Output: 13:27:45.004600

Wie erstellt manate AnzeigeateZeitobjekt in Python

Wie Sie sehen können, die date Objekt hat keine Informationen über die Zeit. Und das time Das Objekt enthält keine Informationen über date.

In der Praxis benötigen Sie jedoch sowohl date und Zeitinformationen. Es wird daher empfohlen, das zu verwenden datetime Klasse stattdessen.

Sie können auf die datetime Klasse und Create datetime Objekte in Python, wie unten gezeigt:

dt1 = datetime.datetime(2022,3,27,13,27,45,46000)
print(dt1)

# Output: 2022-03-27 13:27:45.046000

Lassen Sie uns jetzt erstellenate noch ein dateZeitobjekt dt2 ohne das second Attribut. Sie können sehen, dass es eingestellt ist 0 – der Standardwert.

dt2 = datetime.datetime(2022,6,30,14,28)
print(dt2)

# Output: 2022-06-30 14:28:00

Bisher haben Sie gelernt, wie man erstelltate Zeitstempel in Python – wie dates, Zeiten und datemal. Jetzt ist es an der Zeit zu sehen, wie Sie rechnen könnenate die Differenz zwischen zwei beliebigen Zeitstempeln.

Gehen Sie zum nächsten Abschnitt, um es herauszufinden.

So verwenden Sie ein Timedelta-Objekt in Python

In Python timedelta bezeichnet eine Zeitspanne. Es ist der Unterschied zwischen zwei date, time, oder datetime Objekte.

Wenn Sie zwei addieren oder subtrahieren date, time, oder datetime Objekte erhalten Sie a timedelta Objekt. Dies timedelta Das Objekt verfügt über nützliche Attribute und Methoden, die bei der Berechnung helfen könnenate der Zeitunterschied.

Lasst uns weitermachen und rechnenate der Unterschied zwischen den beiden datetime Objekte dt1 und dt2.

dt1 = datetime.datetime(2022,3,27,13,27,45,46000) 
dt2 = datetime.datetime(2022,6,30,14,28) 
tdelta = dt2 - dt1 
print(tdelta) 
print(type(tdelta)) 

# Output 
95 days, 1:00:14.954000 
<class 'datetime.timedelta'>

Aus dem obigen Code-Snippet können Sie ersehen, dass die tdelta Variable enthält die Zeitdifferenz zwischen dt1 und dt2. Und die Art von tdelta wird als zur Klasse gehörend verifiziert timedelta mit Pythons eingebautem type() Funktion.

Lassen Sie uns nun ein weiteres Beispiel codieren.

So finden Sie den Zeitunterschied zwischen zwei dates

Nehmen wir ein einfaches, aber interessantes Beispiel.

Aufgabenstellung: : Um zu berechnenate Zeitunterschied zwischen dem aktuellen date (heute) und deinen Geburtstag.
Stellen Sie dazu heute als erster Zeitstempel und Ihre Geburtstag als zweiter Zeitstempel.

Lassen Sie uns als ersten Schritt erstellenate XNUMX datetime Objekte:

  • eine für heute, nennen wir es today und
  • noch eins für deinen Geburtstag, nennen wir es bday

Der datetime Klasse hat die now() Methode, die Ihnen den aktuellen lokalen d liefertate und Zeit. Also nutzen wir es get today—unsere Referenz date.

today = datetime.datetime.now()
print(today)

# Sample Output: 2022-01-22 09:10:18.489538

Ersetzen Sie im folgenden Code bday mit deinem Geburtstag zu berechnenate Die verbleibende Zeit für deinen diesjährigen Geburtstag.

Wenn Sie dies nach Ihrem Geburtstag lesen, können Sie sich gerne auf den Weg machen bday zu deinem nächsten Geburtstag.

bday = datetime.datetime(2022,8,30,11,59)
print(bday)

# Sample Output: 2022-08-30 11:59:00

Der nächste Schritt ist die Berechnungate time_diff das ein timedleta Objekt, wie zuvor erklärt. Einfach abziehen today von Ihrem bday, und Sie haben die Zeitverschiebung.

time_diff = bday - today
print(f"Your birthday is in {time_diff}")

# Output
Your birthday is in 220 days, 2:46:00.127416

Um die Anzahl der verbleibenden Tage zu erfahren, verwenden Sie das Attribut days on time_diff, wie gezeigt:

tdays = time_diff.days
print(f"Your birthday is in {tdays} days.")

# Output
Your birthday is in 220 days.

So ermitteln Sie den Zeitunterschied in Sekunden

Lasst uns nun rechnenate Wie viele Sekunden sind es bis zu deinem Geburtstag?

Berechnenate Verwenden Sie die Gesamtzeitdifferenz in Sekunden total_seconds() Methode auf der timedelta Objekt time_diff.

tsecs = time_diff.total_seconds()
print(f"Your birthday is {tsecs} seconds away.")

# Output
Your birthday is 19017960.127416 seconds away.

Nun, das ist zu lange warten!

Das heißt, Sie wissen jetzt, wie man rechnetate der Zeitunterschied zwischen zwei beliebigen Zeitstempeln in Sekunden.

Lass uns jetzt revMachen Sie sich mit einigen Grundlagen vertraut und schreiben Sie Folgendes auf. Ein Tag besteht aus 24 Stunden, eine Stunde ist 60 Minuten lang und eine Minute besteht aus 60 Sekunden.

Dies ist im folgenden Bild zusammengefasst:

Stunden, Minuten und Sekunden

Um also von Sekunden in Minuten, Stunden und Tage umzurechnen, können Sie die folgende Tabelle verwenden und durch den entsprechenden Umrechnungsfaktor dividieren.

Zeitumrechnungstabelle

In den nächsten Abschnitten konvertieren wir den Zeitunterschied in Sekunden in Minuten und Stunden.

So ermitteln Sie den Zeitunterschied in Minuten

Um den Zeitunterschied in Minuten zu erhalten, müssen Sie nur die Gesamtsekunden durch 60 teilen.

Teilen wir uns auf tsecs um 60, und speichern Sie es in einer Variablen namens tmins, So was:

tmins = tsecs/60
print(f"Your birthday is {tmins} minutes away.")

# Output
Your birthday is 316966.0021236 minutes away.

So ermitteln Sie den Zeitunterschied in Stunden

Jetzt, wo Sie gerechnet habenateWenn Sie den Zeitunterschied in Minuten angeben, können Sie ihn durch den Faktor 60 dividieren, um den Unterschied in Stunden zu erhalten. Oder Sie könnten die Gesamtzahl der Sekunden durch 60*60 = 3600 teilen.

thrs = tsecs/(60*60)
print(f"Your birthday is {thrs} hours away.")

# Output
Your birthday is 5282.76670206 hours away.

Jetzt haben Sie also gelernt, wie man rechnetate der Zeitunterschied in einer beliebigen Einheit Ihrer Wahl.

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie:

  • CREate und arbeite mit dates und mal mit Pythons datetime Modul,
  • - timedelta Objekte, um eine Zeitspanne oder einen Zeitunterschied zu erhalten, und
  • calculate der Zeitunterschied in Sekunden, Minuten und Stunden.

Ich hoffe, Sie fanden dieses Tutorial hilfreich. Jetzt, da Sie alles über die Berechnung des Zeitunterschieds in Python wissen, ist es an der Zeit setzen Sie Ihre Fähigkeiten in die Praxis um.

Viel Spaß beim Lernen und Programmieren!

Lerne zu schreiben gleich oder ungleich code or  Machen Sie hier ein Schlangenspiel in Python.

Teilen:
  • Bala Priya C
    Autor
    Bala Priya ist ein Entwickler und technischer Redakteur aus Indien mit über drei Jahren Erfahrung im Bereich des Schreibens technischer Inhalte. Sie teilt ihre Erkenntnisse mit der Entwickler-Community, indem sie technische Tutorials, Anleitungen und mehr verfasst.

Danke an unsere Sponsoren

Weitere großartige Lektüre zum Thema Entwicklung

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.