Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

So berechnen Sie den Zeitunterschied in Python

Python-Hosting
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Wenn Sie in Python mit Datums- und Uhrzeitangaben arbeiten, müssen Sie häufig die Zeitdifferenz berechnen. In diesem Lernprogramm erfahren Sie, wie Sie die Differenz zwischen zwei Zeitstempeln in Stunden, Minuten und Sekunden berechnen.

Am Ende dieses Tutorials haben Sie Folgendes gelernt:

  • wie man Pythons verwendet datetime Modul zum Arbeiten mit Datum und Uhrzeit,
  • was timedelta Objekte sind, und wie sie nützlich sind, und
  • Berechnen Sie den Zeitunterschied zwischen zwei beliebigen Zeitstempeln – in Stunden, Minuten und Sekunden.

Fangen wir an.

How to use Python’s datetime module

Um mit Datums- und Zeitangaben in Python zu arbeiten, 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 die Zeitdifferenz zu berechnen, müssen Sie zwei verschiedene Zeitstempel erstellen. Sie können Folgendes erstellen:

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

So erstellen Sie ein Datumsobjekt in Python

Lassen Sie uns die importieren date Klasse aus dem datetime-Modul. Um ein Datumsobjekt 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, wird das Datum beim Drucken im Format formatiert YYYY-MM-DD Format für Datumsangaben.

Hinweis: Achten Sie darauf, den Monat als ganze Zahl anzugeben ohne jedem führende Nullen. Es ist wahrscheinlich, dass Sie es gewohnt sind, dem Monat eine führende Null hinzuzufügen, wenn Sie Datumsangaben notieren.

Um beispielsweise ein Datum im Juni, dem 6. Monat des Jahres, anzugeben: 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. Sie werden sehen, dass es wie gezeigt einen Syntaxfehler auslöst:

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 eine erstellt time Objekt in Python.

So erstellen Sie ein Zeitobjekt in Python

Um ein Zeitobjekt zu erstellen, importieren wir die time Klasse. Jedes Python-Zeitobjekt kann mit erstellt werden 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.

Das folgende Code-Snippet zeigt, wie Sie ein Zeitobjekt erstellen können 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

So erstellen Sie ein Datetime-Objekt in Python

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

In der Praxis benötigen Sie jedoch sowohl die Datums- als auch die Uhrzeitinformationen. Es wird daher empfohlen, die zu verwenden datetime Klasse stattdessen.

Sie können auf die datetime Klasse und erstellen 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 nun ein weiteres datetime-Objekt erstellen 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 Sie Zeitstempel in Python erstellen – als Datum, Uhrzeit und Datumszeit. Jetzt ist es an der Zeit zu sehen, wie Sie die Differenz zwischen zwei beliebigen Zeitstempeln berechnen können.

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

How to use timedelta object in Python

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

Wenn Sie zwei addieren oder subtrahieren date, timebezeichnet, oder datetime Objekte erhalten Sie a timedelta Objekt. Dies timedelta -Objekt verfügt über nützliche Attribute und Methoden, die bei der Berechnung des Zeitunterschieds helfen können.

Lassen Sie uns fortfahren und die Differenz zwischen den beiden berechnen 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.

How to find time difference between two dates

Nehmen wir ein einfaches, aber interessantes Beispiel.

Aufgabenstellung: : Um die zu berechnen Zeitunterschied zwischen dem aktuellen Datum (heute) und Ihrem Geburtstag.
Stellen Sie dazu heute als erster Zeitstempel und Ihre Geburtstag als zweiter Zeitstempel.

Als ersten Schritt erstellen wir zwei datetime Objekte:

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

Die datetime Klasse hat die now() Methode, die Ihnen das aktuelle lokale Datum und die aktuelle Uhrzeit liefert. Also lass es uns nutzen today– unser Stichtag.

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

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

Ersetzen Sie im folgenden Code bday mit deinem Geburtstag, um die verbleibende Zeit für deinen Geburtstag in diesem Jahr zu berechnen.

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 Berechnung 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.

How to find time difference in seconds

Lassen Sie uns jetzt berechnen, wie viele Sekunden Ihr Geburtstag entfernt ist.

Um die Gesamtzeitdifferenz in Sekunden zu berechnen, verwenden Sie die 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!

Allerdings wissen Sie jetzt, wie Sie die Zeitdifferenz zwischen zwei beliebigen Zeitstempeln in Sekunden berechnen.

Lassen Sie uns nun einige Grundlagen wiederholen und das Folgende aufschreiben. Ein Tag besteht aus 24 Stunden, eine Stunde ist 60 Minuten lang und 60 Sekunden ergeben eine Minute.

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.

How to find time difference in minutes

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.

How to find time difference in hours

Nachdem Sie den Zeitunterschied in Minuten berechnet haben, können Sie ihn durch den Faktor 60 teilen, um den Unterschied in Stunden zu erhalten. Oder Sie könnten die Gesamtsekunden 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.

Sie haben jetzt also gelernt, wie Sie den Zeitunterschied in einer beliebigen Einheit Ihrer Wahl berechnen können.

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie:

  • Erstellen und arbeiten Sie mit Datums- und Uhrzeitangaben mit Python datetime Modul,
  • unsere Website benutzen, timedelta Objekte, um eine Zeitspanne oder einen Zeitunterschied zu erhalten, und
  • Berechnen Sie die Zeitdifferenz 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.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder