Tutorials  /  Python

Vereinfachte Zeitkonvertierung: Sekunden in Stunden, Minuten und Sekunden mit Python

Ccentron Redaktion · Oktober 2024 ·5 Min. Lesezeit ·Python, Tutorial

Das Verstehen von Zeitumrechnungen ist eine nützliche Fähigkeit bei der Entwicklung verschiedener Anwendungen. Obwohl Python integrierte Module bietet, die diese Umrechnungen problemlos durchführen, ist es eine großartige Lernmöglichkeit, zuerst eine eigene Funktion zu erstellen. In diesem Tutorial gehen wir durch die Erstellung einer Python-Funktion, um Zeit in Sekunden in Stunden, Minuten und Sekunden umzuwandeln.

Anschließend werden wir auch einige der in Python integrierten Werkzeuge erkunden, um die gleichen Ergebnisse zu erzielen.

Benutzerdefinierte Python-Funktion zur Zeitumrechnung

Bevor wir uns bestehenden Lösungen zuwenden, versuchen wir, das Problem manuell zu lösen. Um eine gegebene Zeit in Sekunden in Stunden, Minuten und Sekunden umzuwandeln, können wir es in einige logische Schritte unterteilen:

1. Umgang mit großen Sekundenwerten

Wenn die Eingabewerte in Sekunden die Anzahl der Sekunden in einem Tag überschreiten, können wir berechnen, wie viel Zeit nach der Division durch die Anzahl der Sekunden eines Tages übrig bleibt:

Code
seconds = seconds % (24 * 3600)

Die Modulo-Operation stellt sicher, dass wir nur mit der Zeit unter 24 Stunden arbeiten.

2. Ermittlung der Stunden

Um die Anzahl der Stunden zu ermitteln, teilen wir die Gesamtsekunden durch die Anzahl der Sekunden in einer Stunde (3600). Die Ganzzahldivision (//) sorgt dafür, dass wir nur den ganzzahligen Teil des Ergebnisses erhalten:

Code
hours = seconds // 3600

3. Minuten berechnen

Nachdem die Stunden berechnet wurden, verwenden wir erneut den Modulo-Operator, um die verbleibenden Sekunden zu ermitteln. Dann wiederholen wir den Vorgang für die Minuten, indem wir die verbleibenden Sekunden durch 60 teilen:

Code
seconds %= 3600
minutes = seconds // 60

4. Sekunden berechnen

Schließlich wenden wir erneut die Modulo-Operation an, um die verbleibenden Sekunden zu finden:

Code
seconds %= 60

Lassen Sie uns all dies in einer Python-Funktion zusammenfassen:

Python
def convert_to_time_format(sec):
    sec = sec % (24 * 3600)  # Begrenzung auf ein 24-Stunden-Format
    hours = sec // 3600
    sec %= 3600
    minutes = sec // 60
    sec %= 60
    return "{:02d}:{:02d}:{:02d}".format(hours, minutes, sec)

n = 10000
print("Zeit in Stunden, Minuten und Sekunden:", convert_to_time_format(n))

Das Ausführen des obigen Codes gibt folgendes Ergebnis zurück:

Code
Zeit in Stunden, Minuten und Sekunden: 02:46:40
VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Verwendung des time Moduls von Python

Während das Schreiben eigener Funktionen das Verständnis verbessert, kann das time-Modul von Python die gleichen Ergebnisse mit weniger Codezeilen erzielen. Dieses Modul ermöglicht es Ihnen, die Zeit basierend auf einer Epoche (dem Startpunkt, oft als 1. Januar 1970 definiert) zu formatieren.

So verwenden Sie das time-Modul, um Sekunden in Stunden, Minuten und Sekunden umzuwandeln:

Python
import time

n = 10000
formatted_time = time.strftime("%H:%M:%S", time.gmtime(n))
print("Zeit in Stunden, Minuten und Sekunden:", formatted_time)

Das Ergebnis wird sein:

Code
Zeit in Stunden, Minuten und Sekunden: 02:46:40

Diese Methode ist unkompliziert und konvertiert die Sekunden direkt in ein strukturiertes Format unter Verwendung von Unix-Zeit.

Zusätzliche Funktionen mit dem time-Modul

Das time-Modul ermöglicht es Ihnen, zusätzliche Informationen wie den Wochentag und den Monat anzuzeigen. Zum Beispiel:

Python
n = 100000000000
formatted_time = time.strftime("Tag: %a, Zeit: %H:%M:%S, Monat: %b", time.gmtime(n))
print("Formatierte Zeit:", formatted_time)

Ergebnis:

Code
Formatierte Zeit: Tag: Mi, Zeit: 09:46:40, Monat: Nov

Verwendung des datetime-Moduls von Python

Das datetime-Modul bietet eine weitere leistungsstarke Möglichkeit, mit Zeit zu arbeiten. Sie können timedelta verwenden, um Sekunden in ein lesbares Format umzuwandeln, das Tage, Stunden, Minuten und Sekunden umfasst:

Python
import datetime

n = 10000000
formatted_time = str(datetime.timedelta(seconds=n))
print("Zeit in Tagen, Stunden, Minuten und Sekunden:", formatted_time)

Dieser Code gibt folgendes Ergebnis zurück:

Code
Zeit in Tagen, Stunden, Minuten und Sekunden: 115 Tage, 17:46:40

Fazit

In diesem Tutorial haben wir drei verschiedene Methoden zur Umwandlung von Sekunden in ein lesbares Zeitformat untersucht. Zuerst haben wir unsere eigene Funktion erstellt, um das Verständnis für den Prozess zu vertiefen. Anschließend haben wir die integrierten Module time und datetime von Python erkundet, die bequeme, fertige Lösungen für den Umgang mit Zeit bieten.

Ob Sie lieber eigene Funktionen schreiben oder die vorhandenen Bibliotheken von Python verwenden, die Flexibilität, mit Zeit in verschiedenen Formaten zu arbeiten, ist eine wertvolle Fähigkeit in der Softwareentwicklung.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren