Python Datum/Uhrzeit, UhrzeitDelta, Strftime(Format) mit Beispielen
Die Datetime-Klassen in Python sind in fünf Hauptklassen eingeteilt.
- date – Nur das Datum manipulieren (Monat, Tag, Jahr)
- Zeit – Zeit unabhängig vom Tag (Stunde, Minute, Sekunde, Mikrosekunde)
- datetime – Kombination aus Uhrzeit und Datum (Monat, Tag, Jahr, Stunde, Sekunde, Mikrosekunde)
- timedelta— Eine Zeitspanne, die zur Manipulation von Daten verwendet wird
- tzinfo – Eine abstrakte Klasse für den Umgang mit Zeitzonen
So verwenden Sie die Date- und DateTime-Klasse
Schritt 1) Bevor Sie den Code für das Datums-/Uhrzeitformat in Pythonist es wichtig, dass Sie die Python Datums- und Uhrzeitmodule, wie im Screenshot unten gezeigt.
Diese Importanweisungen sind vordefinierte Funktionalitäten im Python Bibliothek, mit der Sie Datum und Uhrzeit bearbeiten können, ohne Code schreiben zu müssen.
Beachten Sie die folgenden Punkte vor der Ausführung des Python Datums-/Uhrzeitformatcode
from datetime import date
Diese Zeile sagt dem Python Interpreter zum Importieren der Datumsklasse aus dem Datetime-Modul in Python. Wir schreiben den Code für diese Datumsfunktion nicht, sondern importieren ihn nur für unsere Verwendung
Schritt 2) Als nächstes erstellen wir eine Instanz des Datumsobjekts.
Schritt 3) Als nächstes drucken wir das Datum aus und führen den Code aus.
Die Ausgabe ist wie erwartet.
Datum mit date.today() drucken
date.today
Mit der Funktion sind mehrere Eigenschaften verbunden. Wir können einzelne Tage/Monate/Jahre und viele andere Dinge drucken
Lass uns ein Beispiel sehen
Die heutige Wochentagsnummer
Die Funktion date.today() liefert Ihnen auch die Nummer des Wochentags. Hier ist die Wochentagstabelle, die mit beginnt Monday als 0 und Sonntag als 6
Tag | Wochentagsnummer |
---|---|
Monday | 0 |
Dienstag | 1 |
Wednesday | 2 |
Donnerstag | 3 |
Freitag | 4 |
Samstag | 5 |
Sonntag | 6 |
Die Wochentagsnummer ist nützlich für Arrays, deren Index vom Wochentag abhängt.
Python Aktuelles Datum und Uhrzeit: jetzt() heute()
Schritt 1) Wie Datumsobjekte können wir auch verwenden „DATETIME-OBJEKTE“ in Python. Python Datums- und Zeitobjekte geben Datum und Zeit an in Stunden, Minuten, Sekunden und Millisekunden.
Wenn wir den Code für datetime ausführen, wird die Ausgabe mit dem aktuellen Datum und der aktuellen Uhrzeit ausgegeben.
Schritt 2) Mit „DATETIME OBJECT“ können Sie auch die Zeitklasse aufrufen.
Angenommen, wir möchten nur die aktuelle Uhrzeit ohne Datum drucken.
t = datetime.time(datetime.now())
- Wir hatten die Zeitklasse importiert. Wir werden ihm mithilfe von datetime.now() den aktuellen Zeitwert zuweisen.
- Wir weisen der Variablen t den Wert der aktuellen Zeit zu.
Und das wird mir genau die Zeit geben. Lassen Sie uns also dieses Programm ausführen.
Okay, Sie können sehen, dass ich hier Datum und Uhrzeit habe. Und dann die nächste Zeile: „Ich habe einfach die Zeit für mich.“
Schritt 3) Wir wenden unseren Wochentagsindexer auf die ArrayList unseres Wochentags an, um zu erfahren, welcher Tag heute ist
- Dem Wochentagsoperator (wd) wird eine Zahl von (0-6) zugewiesen, je nachdem, welcher Wochentag gerade ist. Hier haben wir das Array der Liste für Tage (Mo, Di, Mi…So) deklariert.
- Verwenden Sie diesen Indexwert, um zu wissen, welcher Tag heute ist. In unserem Fall ist es Nr. 2 und stellt den Mittwoch dar, sodass in der Ausgabe „Welches ist ein Mittwoch“ ausgegeben wird.
Hier ist der vollständige Code, um mit datetime now das aktuelle Datum und die aktuelle Uhrzeit abzurufen
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print (today) # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd=date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print("Today is day number %d" % wd) print("which is a " + days[wd]) if __name__== "__main__": main()
So formatieren Sie die Datums- und Uhrzeitausgabe mit Strftime()
Jetzt haben wir gelernt, wie man datetime und date verwendet Objekt in Python. Wir gehen einen Schritt weiter und lernen, wie Sie eine Formatierungsfunktion zum Formatieren von Uhrzeit und Datum verwenden.
Schritt 1) Zuerst sehen wir einen einfachen Schritt zur Formatierung des Jahres. Am besten lässt es sich anhand eines Beispiels verstehen.
- Wir nutzten das „strftime-Funktion“ zum Formatieren.
- Diese Funktion verwendet verschiedene Steuercode eine Ausgabe geben.
- Jeder Steuercode ähnelt verschiedenen Parametern wie Jahr, Monat, Wochentag und Datum [(%y/%Y – Jahr), (%a/%A- Wochentag), (%b/%B- Monat), (%d – Tag des Monats)] .
- In unserem Fall ist es so („%Y“) was dem Jahr ähnelt, gibt das ganze Jahr mit der Jahrhundertangabe aus (z. B. 2018).
Schritt 2) Wenn Sie nun („%Y“) durch Kleinbuchstaben ersetzen, also („%y“), und den Code ausführen, wird in der Ausgabe nur (18) und nicht (2018) angezeigt. Das Jahrhundert des Jahres wird nicht wie im Screenshot unten gezeigt angezeigt
Schritt 3) Die Strf-Funktion kann Datum, Tag, Monat und Jahr separat deklarieren. Auch mit kleinen Änderungen im Steuercode in der Strftime-Funktion können Sie den Stil des Textes formatieren.
Wenn Sie innerhalb der strftime-Funktion (%a) durch ein großes A ersetzen, z. B. (%A), wird die Ausgabe als „Freitag“ und nicht nur als Abkürzung „Fr“ ausgegeben.
Schritt 4) Mit Hilfe der Funktion „Strftime“ können wir auch die lokale Systemzeit, das Datum oder beides abrufen.
- %C- gibt das lokale Datum und die lokale Uhrzeit an
- %x- gibt das lokale Datum an
- %X- gibt die Ortszeit an
In der Ausgabe können Sie das erwartete Ergebnis sehen
Schritt 5) Mit der „strftime-Funktion“ können Sie die Uhrzeit in jedem beliebigen Format (24 Stunden oder 12 Stunden) abrufen.
Durch einfaches Definieren von Steuercodes wie %I/H für Stunde, %M für Minute, %S für Sekunde kann man die Zeit für verschiedene Formate aufrufen
12 Stunden Zeit wird deklariert [print now.strftime(“%I:%M:%S %p) ]
24 Stunden Zeit wird deklariert [print now.strftime(“%H:%M”)]
Hier ist der vollständige Code zum Konvertieren von datetime in ein String-Objekt.
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print(now.strftime("%c")) print(now.strftime("%x")) print(now.strftime("%X")) ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM print(now.strftime("%H:%M")) # 24-Hour:Minute if __name__== "__main__": main()
Was ist Timedelta in Python?
Zeitdelta in Python ist ein Objekt, das die Dauer darstellt. Es wird hauptsächlich verwendet, um die Dauer zwischen zwei Daten und Zeiten zu berechnen. Es wird auch verwendet, um das Objekt mit einem Deltadatum und einer Deltazeit abzurufen. Das Timedelta-Objekt unterstützt mathematische Operationen wie Addition, Subtraktion, Multiplikation, Division usw.
So verwenden Sie Timedelta-Objekte
Bei Python Mit Timedelta-Objekten können Sie die Zeit sowohl für die Zukunft als auch für die Vergangenheit schätzen. Mit anderen Worten handelt es sich um eine Zeitspanne zur Vorhersage eines bestimmten Tages, Datums oder einer bestimmten Uhrzeit.
Denken Sie daran, dass diese Funktion nicht dazu dient, die Uhrzeit oder das Datum auszudrucken, sondern etwas über die Zukunft oder Vergangenheit zu berechnen. Sehen wir uns ein Python Timedelta-Beispiel, um es besser zu verstehen.
Schritt 1) Um Timedelta-Objekte auszuführen, müssen Sie zuerst die Importanweisung deklarieren und dann den Code ausführen
- Schreiben Sie eine Importanweisung für Timedelta
- Schreiben Sie nun den Code zum Ausdrucken des Objekts aus dem Zeitdelta, wie im Screenshot gezeigt
- Führen Sie den Code aus. Das Zeitdelta stellt eine Zeitspanne von 365 Tagen, 8 Stunden und 15 Minuten dar und druckt das gleiche
Verwirrend? Der nächste Schritt wird helfen-
Schritt 2) Lassen Sie uns das heutige Datum und die heutige Uhrzeit abrufen, um zu überprüfen, ob unsere Importanweisung ordnungsgemäß funktioniert. Wenn Code ausgeführt wird, gibt er das heutige Datum aus, was bedeutet, dass unsere Importanweisung gut funktioniert
Schritt 3) Wir werden sehen, wie wir über Delta-Objekte das Datum in einem Jahr abrufen können. Wenn wir den Code ausführen, wird die erwartete Ausgabe ausgegeben.
Schritt 4) Ein weiteres Beispiel, wie Zeitdelta verwendet werden kann, um zukünftige Daten aus dem aktuellen Datum und der aktuellen Uhrzeit zu berechnen
Schritt 5) Schauen wir uns ein komplexeres Beispiel an. Ich möchte bestimmen, wie viele Tage nach Neujahr. So gehen wir vor
- Mit today= date.today() erhalten wir das heutige Datum
- Wir wissen, dass das neue Jahr immer am 1. Januar ist, aber das Jahr könnte anders sein. Mit nyd= date(today.year,1,1) speichern wir das neue Jahr in der Variablen nyd
- if nyd < today: vergleicht, ob das aktuelle Datum nach dem neuen Jahr liegt. Wenn ja, geht es in die while-Schleife
- ((today-nyd).days) gibt die Differenz zwischen einem aktuellen Datum und dem neuen Jahr in DAYS an
Die Ausgabe zeigt, dass „Neujahr bereits vor 11 Tagen vergangen ist.“
Hier ist der vollständige Arbeitscode
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print (timedelta(days=365, hours=8, minutes=15)) # print today's date print ("today is: " + str(datetime.now())) # print today's date one year from now print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365))) # create a timedelta that uses more than one argument # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print ("New Year day is already went by %d days ago" % ((today - nyd).days))
Python 2 Beispiel
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print today # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd = date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print "Today is day number %d" % wd print "which is a " + days[wd] if __name__== "__main__": main()
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print now.strftime("%c") print now.strftime("%x") print now.strftime("%X") ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM print now.strftime("%H:%M") # 24-Hour:Minute if __name__== "__main__": main()
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print timedelta(days=365, hours=8, minutes=15) # print today's date print "today is: " + str(datetime.now()) # print today's date one year from now print "one year from now it will be:" + str(datetime.now() + timedelta(days=365)) # create a timedelta that uses more than one argument # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print "New Year day is already went by %d days ago" % ((today - nyd).days)
Zusammenfassung
Für die einfache und komplexe Manipulation von Datum und Uhrzeit stellt das Modul datetime verschiedene Klassen bzw. Kategorien zur Verfügung wie
- date – Nur das Datum manipulieren (Monat, Tag, Jahr)
- Zeit – Zeit unabhängig vom Tag (Stunde, Minute, Sekunde, Mikrosekunde)
- datetime – Kombination aus Uhrzeit und Datum (Monat, Tag, Jahr, Stunde, Sekunde, Mikrosekunde)
- timedelta— Eine Zeitspanne, die zur Manipulation von Daten verwendet wird
- tzinfo – Eine abstrakte Klasse für den Umgang mit Zeitzonen
Verwendung von Datetime-Objekten
- Das Importieren von Datetime-Objekten vor der Ausführung des Codes ist obligatorisch
- Verwendung der date.today-Funktion zum Drucken einzelner Datums-/Monats-/Jahresdaten sowie zum Indizieren des Tages
- Verwenden des date.time-Objekts, um die Zeit in Stunden, Minuten, Sekunden und Millisekunden abzurufen
Timeout mit „str f time function“ formatieren
- Verwenden Sie „str f time function“, um das Format des Jahres zu ändern
- Tag, Datum, Monat und Jahr separat drucken,
- Abrufzeit für jedes Format 12 Stunden oder 24 Stunden
Timedelta-Objekte
- Mit Timedelta-Objekten können Sie die Zeit sowohl für die Zukunft als auch für die Vergangenheit schätzen
- Berechnen Sie die Gesamtzahl der verbleibenden Tage für den besonderen Tag (Geburtstag) ab der aktuellen Uhrzeit
- Berechnen Sie die Gesamtzahl der vergangenen Tage für einen besonderen Tag (Geburtstag) ab der aktuellen Uhrzeit