Website-Suche

Zeit in Stunden, Minuten und Sekunden in Python umwandeln


In diesem Tutorial werden wir über Zeit sprechen. Keine Sorge, dies ist kein langweiliges Geschichtstutorial, sondern wir werden verschiedene Möglichkeiten betrachten, Zeit in Sekunden in Zeit in Stunden, Minuten und Sekunden umzuwandeln.

In Zukunft werden wir Zeit in Stunden, Minuten und Sekunden als Zeit im bevorzugten Format.

Es wird so aussehen:

2:46:40

Lass uns etwas ‚Zeit‘ nehmen und über das aktuelle Problem nachdenken. Zweifellos hat Python erstaunliche Module, um die Konversion für uns durchzuführen. Aber lass uns zuerst versuchen, unser eigenes Programm zu schreiben, bevor wir zu den integrierten Modulen übergehen.

Erstellen einer benutzerdefinierten Funktion zur Umwandlung von Zeit in Stunden, Minuten und Sekunden

Um unsere eigene Umwandlungsfunktion zu schreiben, müssen wir zuerst mathematisch über das Problem nachdenken.

Wie konvertiert man Sekunden in das bevorzugte Format?

Sie müssen den Wert von Stunden, Minuten und Sekunden. erhalten.

Wir gehen davon aus, dass die Zeit in Sekunden die Gesamtzahl der Sekunden in einem Tag nicht überschreitet. Wenn doch, werden wir sie durch die Gesamtzahl der Sekunden in einem Tag teilen und den Rest nehmen.

Dies wird mathematisch dargestellt als:

seconds = seconds % (24 * 3600)

% Operator gibt den Rest.

24*3600, da eine Stunde 3600 Sekunden (60*60) hat und ein Tag 24 Stunden hat.

Danach können wir fortfahren und den Stundenwert aus den Sekunden berechnen.

1. Hole den Stundenwert

Um den Stundenwert aus Sekunden zu erhalten, verwenden wir den ganzzahligen Divisionsoperator (//).

Es gibt den ganzzahligen Teil des Quotienten zurück.

Da wir die Anzahl der Stunden benötigen, werden wir die Gesamtzahl der Sekunden (n) durch die Gesamtzahl der Sekunden in einer Stunde (3600). teilen.

Mathematisch wird dies dargestellt als:

hour = seconds // 3600

Danach müssen wir die Minuten berechnen.

2. Holen Sie sich den Minutenwert

Um den Wert der Minuten zu berechnen, müssen wir zunächst die Gesamtzahl der Sekunden durch 3600 teilen und den Rest nehmen.

Mathematisch wird dies dargestellt als:

 seconds = seconds % 3600

Jetzt um den Wert der Minuten aus dem obigen Ergebnis zu berechnen, werden wir erneut den Abrunden-Operator verwenden.

minutes = seconds // 60

Eine Minute hat sechzig Sekunden, daher runden wir den Sekundenwert auf 60 ab.

Nachdem wir den Minutenwert berechnet haben, können wir fortfahren, um den Sekundenwert für unser bevorzugtes Format zu berechnen.

3. Holen Sie sich den Sekundewert

Um den Sekundenwert zu erhalten, müssen wir erneut die Gesamtzahl der Sekunden durch die Anzahl der Sekunden in einer Minute (60) teilen und den Rest nehmen.

Mathematisch wird dies wie folgt durchgeführt:

 seconds = seconds % 60

Dies wird den zweiten Wert liefern, den wir für unser bevorzugtes Format benötigen.

4. Vollständiger Code

Lass uns das obige Wissen in einer Python-Funktion zusammenfassen.

def convert_to_preferred_format(sec):
   sec = sec % (24 * 3600)
   hour = sec // 3600
   sec %= 3600
   min = sec // 60
   sec %= 60
   print("seconds value in hours:",hour)
   print("seconds value in minutes:",min)
   return "%02d:%02d:%02d" % (hour, min, sec) 

n = 10000
print("Time in preferred format :-",convert(n))

Ausgabe :

seconds value in hours: 2
seconds value in minutes: 46
Time in preferred format :- 02:46:40

Die Verwendung des Time-Moduls

Jetzt wollen wir uns ein integriertes Modul ansehen, das es uns ermöglicht, Sekunden in unser bevorzugtes Format in einer Zeile Code umzuwandeln.

Das Zeitmodul definiert die Epoche als 1. Januar 1970, 00:00:00 (UTC) in Unix-Systemen (systemabhängig). Die Epoche ist im Grunde der Beginn der Zeit für einen Computer. Man kann es als Tag 0 betrachten. Immer wenn wir Sekunden mit dem Zeitmodul umrechnen, wird diese Epoche als Referenzpunkt verwendet.

Um die Epoche in Ihrem System auszugeben, verwenden Sie die folgende Codezeile:

time.gmtime(0)

Um Sekunden in das bevorzugte Format zu konvertieren, verwenden Sie die folgende Codezeile:

time.strftime("%H:%M:%S", time.gmtime(n))

Diese Zeile nimmt die Zeit in Sekunden als ‚n‘ und lässt Sie dann die Stunden-, Minuten- und Sekundenwerte separat ausgeben.

Der vollständige Python-Code lautet wie folgt:

import time
n=10000
time_format = time.strftime("%H:%M:%S", time.gmtime(n))
print("Time in preferred format :-",time_format)

Ausgabe :

Time in preferred format :- 02:46:40

Das Zeitmodul gibt Ihnen auch die Möglichkeit, zusätzliche Informationen wie Tag, Monat und Jahr anzuzeigen.

%a
abgekürzten Wochentagsnamen anzeigen.
%A
vollen Wochentagsnamen anzeigen.
%b
abgekürzten Monatsnamen anzeigen.
%B
vollen Monatsnamen anzeigen.
%c
Die entsprechende Datums- und Zeitdarstellung anzeigen.
%d
Tag des Monats als Dezimalzahl anzeigen [01,31].

Lass uns versuchen, %a und %b zu verwenden.

import time
n=100000000000
time_format = time.strftime("Day: %a, Time: %H:%M:%S, Month: %b", time.gmtime(n))
print("Time in preferred format :-",time_format)

Ausgabe :

Time in preferred format :- Day: Wed, Time: 09:46:40, Month: Nov

Verwendung des Datetime-Moduls

Sie können auch die timedelta-Methode im DateTime-Modul verwenden, um Sekunden in das gewünschte Format umzuwandeln.

Es zeigt die Zeit in Tagen, Stunden, Minuten und Sekunden an, die seit der Epoche vergangen sind.

Der Python-Code, um Sekunden in das bevorzugte Format mithilfe des Datetime-Moduls zu konvertieren, lautet wie folgt:

import datetime
n= 10000000
time_format = str(datetime.timedelta(seconds = n))
print("Time in preferred format :-",time_format)

Ausgabe :

Time in preferred format :- 115 days, 17:46:40

Schlussfolgerung

Dieses Tutorial hat drei verschiedene Methoden betrachtet, die Sie verwenden können, um Sekunden in Stunden, Minuten und Sekunden umzuwandeln. Im Großen und Ganzen gibt es zwei unterschiedliche Ansätze, um das Problem zu lösen.

Entweder schreibst du deine eigene Funktion oder verwendest ein eingebautes Modul. Wir haben damit begonnen, unsere eigene Funktion zu schreiben und dann das time und DateTime Modul betrachtet.