In Python sind Datum und Uhrzeit keine eigenen Datentypen, sondern ein benanntes Modul Terminzeit in Python können importiert werden, um sowohl mit Datum als auch mit Uhrzeit zu arbeiten. Python Datetime-Modul ist in Python integriert, sodass keine externe Installation erforderlich ist.
In diesem Artikel werden wir untersuchen, wie DateTime in Python funktioniert und was sind die Hauptklassen des DateTime-Moduls in Python.
Inhaltsverzeichnis
- Python DateTime-Modul
- Python-Datumsklasse
- Python Time-Klasse
- Python Datetime-Klasse
- Python Timedelta-Klasse
- Python DateTime.tzinfo()
- Python DateTime-Zeitzone
Python DateTime-Modul
Python Datetime Das Modul bietet Klassen zum Arbeiten mit Datum und Uhrzeit. Diese Klassen stellen mehrere Funktionen zum Umgang mit Datumsangaben, Uhrzeiten und Zeitintervallen bereit. Date und DateTime sind Objekte in Python. Wenn Sie sie also manipulieren, manipulieren Sie Objekte und keine Zeichenfolgen oder Zeitstempel.
Das DateTime-Modul ist in 6 Hauptklassen kategorisiert:
- Datum – Ein idealisiertes, naives Datum, wenn man davon ausgeht, dass der aktuelle gregorianische Kalender immer gültig war und immer sein wird. Seine Attribute sind Jahr, Monat und Tag. Sie können sich beziehen auf – Python DateTime – Datumsklasse
- Zeit – Eine idealisierte Zeit, unabhängig von einem bestimmten Tag, unter der Annahme, dass jeder Tag genau 24*60*60 Sekunden hat. Seine Attribute sind Stunde, Minute, Sekunde, Mikrosekunde und tzinfo. Sie können sich beziehen auf – Python DateTime – Zeitklasse
- Terminzeit – Es handelt sich um eine Kombination aus Datum und Uhrzeit sowie den Attributen Jahr, Monat, Tag, Stunde, Minute, Sekunde, Mikrosekunde und tzinfo. Sie können sich beziehen auf – Python DateTime – DateTime-Klasse
- Zeitdelta – Eine Dauer, die die Differenz zwischen zwei Datums-, Uhrzeit- oder Datetime-Instanzen in Mikrosekundenauflösung ausdrückt. Sie können sich beziehen auf – Python DateTime – Timedelta-Klasse
- tzinfo – Es stellt Zeitzoneninformationsobjekte bereit. Sie können sich beziehen auf – Python – datetime.tzinfo()
- Zeitzone – Eine Klasse, die die abstrakte Basisklasse tzinfo als festen Offset von der UTC implementiert (Neu in Version 3.2). Sie können sich beziehen auf – Umgang mit Zeitzonen in Python
Python-Datumsklasse
Die Datumsklasse wird zum Instanziieren von Datumsobjekten in Python verwendet. Wenn ein Objekt dieser Klasse instanziiert wird, stellt es ein Datum im Format dar JJJJ-MM-TT . Der Konstruktor dieser Klasse benötigt drei obligatorische Argumente: Jahr, Monat und Datum.
Syntax der Python-Datumsklasse
class datetime.date(year, month, day)>
Die Argumente müssen im folgenden Bereich liegen:
- MINYEAR <= Jahr <= MAXYEAR
- 1 <= Monat <= 12
- 1 <= Tag <= Anzahl der Tage im angegebenen Monat und Jahr
Notiz – Wenn das Argument keine Ganzzahl ist, wird ein TypeError ausgelöst, und wenn es außerhalb des Bereichs liegt, wird ein ValueError ausgelöst.
Datumsobjekt, das Daten in Python darstellt
Initialisieren des Konstruktors und Übergeben von Argumenten im Format Jahr, Monat und Datum.
Python3
# Python program to> # demonstrate date class> # import the date class> from> datetime>import> date> my_date>=> date(>1996>,>12>,>11>)> print>(>'Date passed as argument is'>, my_date)> # Uncommenting my_date = date(1996, 12, 39)> # will raise an ValueError as it is> # outside range> # uncommenting my_date = date('1996', 12, 11)> # will raise a TypeError as a string is> # passed instead of integer> |
>
>
Ausgabe:
Date passed as argument is 1996-12-11>
Traceback (most recent call last): File '/home/ccabfb570d9bd1dcd11dc4fe55fd6ba2.py', line 14, in my_date = date(1996, 12, 39) ValueError: day is out of range for month Traceback (most recent call last): File '/home/53b974e10651f1853eee3c004b48c481.py', line 18, in my_date = date('1996', 12, 11) TypeError: an integer is required (got type str)> Holen Sie sich das aktuelle Datum
Um das aktuelle lokale Datum zurückzugeben, wird die Funktion today() der Datumsklasse verwendet. Die Funktion today() verfügt über mehrere Attribute (Jahr, Monat und Tag). Diese können individuell bedruckt werden.
Python3
# Python program to> # print current date> from> datetime>import> date> # calling the today> # function of date class> today>=> date.today()> print>(>'Today's date is'>, today)> |
>
>Ausgabe
Today's date is 2021-08-19>
Erhalten Sie das heutige Jahr, den Monat und das Datum
Wir können die Jahres-, Monats- und Datumsattribute aus dem Datumsobjekt abrufen, indem wir die Jahres-, Monats- und Datumsattribute der Datumsklasse verwenden.
Python3
from> datetime>import> date> # date object of today's date> today>=> date.today()> print>(>'Current year:'>, today.year)> print>(>'Current month:'>, today.month)> print>(>'Current day:'>, today.day)> |
>
>Ausgabe
Current year: 2021 Current month: 8 Current day: 19>
Datum vom Zeitstempel abrufen
Mit der Methode fromtimestamp() können wir Datumsobjekte aus Zeitstempeln y= erstellen. Der Zeitstempel ist die Anzahl der Sekunden vom 1. Januar 1970 UTC bis zu einem bestimmten Datum.
Python3
from> datetime>import> datetime> # Getting Datetime from timestamp> date_time>=> datetime.fromtimestamp(>1887639468>)> print>(>'Datetime from timestamp:'>, date_time)> |
>
>Ausgabe
Datetime from timestamp: 2029-10-25 16:17:48>
Datum in String konvertieren
Mit den beiden Funktionen isoformat() und strftime() können wir ein Datumsobjekt in eine Zeichenfolgendarstellung konvertieren.
Python3
from> datetime>import> date> > # calling the today> # function of date class> today>=> date.today()> > # Converting the date to the string> Str> => date.isoformat(today)> print>(>'String Representation'>,>Str>)> print>(>type>(>Str>))> |
>
>Ausgabe
String Representation 2021-08-19>
Liste der Datumsklassenmethoden
| Funktionsname | Beschreibung |
|---|---|
| ctime() | Gibt eine Zeichenfolge zurück, die das Datum darstellt |
| fromisocalendar() | Gibt ein Datum zurück, das dem ISO-Kalender entspricht |
| fromisoformat() | Gibt ein Datumsobjekt aus der Zeichenfolgendarstellung des Datums zurück |
| fromordinal() | Gibt ein Datumsobjekt aus der proleptischen gregorianischen Ordnungszahl zurück, wobei der 1. Januar des Jahres 1 die Ordnungszahl 1 hat |
| fromtimestamp() | Gibt ein Datumsobjekt aus dem POSIX-Zeitstempel zurück |
| Isokalender() | Gibt ein Tupeljahr, eine Woche und einen Wochentag zurück |
| isoformat() | Gibt die Zeichenfolgendarstellung des Datums zurück |
| isoweekday() | Gibt den Wochentag als Ganzzahl zurück, wobei Montag 1 und Sonntag 7 ist |
| ersetzen() | Ändert den Wert des Datumsobjekts mit dem angegebenen Parameter |
| strftime() | Gibt eine Zeichenfolgendarstellung des Datums im angegebenen Format zurück |
| timetuple() | Gibt ein Objekt vom Typ time.struct_time zurück |
| Heute() | Gibt das aktuelle lokale Datum zurück |
| toordinal() | Gibt die proleptische gregorianische Ordnungszahl des Datums zurück, wobei der 1. Januar des Jahres 1 die Ordnungszahl 1 hat |
| Wochentag() | Gibt den Wochentag als Ganzzahl zurück, wobei Montag 0 und Sonntag 6 ist |
Python Time-Klasse
Die Zeitklasse erstellt das Zeitobjekt, das die Ortszeit unabhängig von einem Tag darstellt.
Konstruktorsyntax:
Klasse datetime.time(Stunde=0, Minute=0, Sekunde=0, Mikrosekunde=0, tzinfo=Keine, *, falten=0)
Alle Argumente sind optional. tzinfo kann None sein, andernfalls müssen alle Attribute Ganzzahlen im folgenden Bereich sein –
- 0 <= Stunde < 24
- 0 <= Minute < 60
- 0 <= Sekunde < 60
- 0 <= Mikrosekunde < 1000000
- einfalten [0, 1]
Beispiel 1: Zeitobjekt, das die Zeit in Python darstellt
Python3
# Python program to> # demonstrate time class> from> datetime>import> time> # calling the constructor> my_time>=> time(>13>,>24>,>56>)> print>(>'Entered time'>, my_time)> # calling constructor with 1> # argument> my_time>=> time(minute>=>12>)> print>(>'
Time with one argument'>, my_time)> # Calling constructor with> # 0 argument> my_time>=> time()> print>(>'
Time without argument'>, my_time)> # Uncommenting time(hour = 26)> # will rase an ValueError as> # it is out of range> # uncommenting time(hour ='23')> # will raise TypeError as> # string is passed instead of int> |
>
>
Ausgabe:
Entered time 13:24:56 Time with one argument 00:12:00 Time without argument 00:00:00>
Traceback (most recent call last): File '/home/95ff83138a1b3e67731e57ec6dddef25.py', line 21, in print(time(hour=26)) ValueError: hour must be in 0..23 Traceback (most recent call last): File '/home/fcee9ba5615b0b74fc3ba39ec9a789fd.py', line 21, in print(time(hour='23')) TypeError: an integer is required (got type str)>
Beispiel 2: Stunden, Minuten, Sekunden und Mikrosekunden abrufen
Nach dem Anlegen eines Zeitobjekts können dessen Attribute auch separat ausgedruckt werden.
Python3
from> datetime>import> time> Time>=> time(>11>,>34>,>56>)> print>(>'hour ='>, Time.hour)> print>(>'minute ='>, Time.minute)> print>(>'second ='>, Time.second)> print>(>'microsecond ='>, Time.microsecond)> |
>
>
Ausgabe:
hour = 11 minute = 34 second = 56 microsecond = 0>
Beispiel 3: Zeitobjekt in String konvertieren
Mit der Methode isoformat() können wir ein Zeitobjekt in einen String konvertieren.
Python3
from> datetime>import> time> # Creating Time object> Time>=> time(>12>,>24>,>36>,>1212>)> # Converting Time object to string> Str> => Time.isoformat()> print>(>'String Representation:'>,>Str>)> print>(>type>(>Str>))> |
>
>Ausgabe
String Representation: 12:24:36.001212>
Liste der Zeitklassenmethoden
| Funktionsname | Beschreibung |
|---|---|
| dst() | Gibt tzinfo.dst() zurück, tzinfo ist nicht None |
| fromisoformat() | Gibt ein Zeitobjekt aus der Zeichenfolgendarstellung der Zeit zurück |
| isoformat() | Gibt die Zeichenfolgendarstellung der Zeit vom Zeitobjekt zurück |
| ersetzen() | Ändert den Wert des Zeitobjekts mit dem angegebenen Parameter |
| strftime() | Gibt eine Zeichenfolgendarstellung der Zeit im angegebenen Format zurück |
| tzname() | Gibt tzinfo.tzname() zurück, tzinfo ist nicht None |
| utcoffset() | Gibt tzinfo.utcffsets() zurück, tzinfo ist nicht None |
Python Datetime-Klasse
Der DateTime-Klasse enthält Informationen zu Datum und Uhrzeit. Wie ein Datumsobjekt geht datetime davon aus, dass der aktuelle gregorianische Kalender in beide Richtungen erweitert wird; Wie ein Zeitobjekt geht datetime davon aus, dass jeder Tag genau 3600*24 Sekunden hat.
Konstruktorsyntax:
Klasse datetime.datetime(Jahr, Monat, Tag, Stunde=0, Minute=0, Sekunde=0, Mikrosekunde=0, tzinfo=Keine, *, falten=0)
Die Argumente Jahr, Monat und Tag sind obligatorisch. tzinfo kann None sein, alle übrigen Attribute müssen eine Ganzzahl im folgenden Bereich sein –
- MINYEAR <= Jahr <= MAXYEAR
- 1 <= Monat <= 12
- 1 <= Tag <= Anzahl der Tage im angegebenen Monat und Jahr
- 0 <= Stunde < 24
- 0 <= Minute < 60
- 0 <= Sekunde < 60
- 0 <= Mikrosekunde < 1000000
- einfalten [0, 1]
Notiz – Die Übergabe eines anderen Arguments als einer Ganzzahl führt zu einem TypeError und die Übergabe von Argumenten außerhalb des Bereichs löst einen ValueError aus.
DateTime-Objekt, das DateTime in Python darstellt
Python3
# Python program to> # demonstrate datetime object> from> datetime>import> datetime> # Initializing constructor> a>=> datetime(>1999>,>12>,>12>)> print>(a)> # Initializing constructor> # with time parameters as well> a>=> datetime(>1999>,>12>,>12>,>12>,>12>,>12>,>342380>)> print>(a)> |
>
>
Ausgabe:
1999-12-12 00:00:00 1999-12-12 12:12:12.342380>
Erhalten Sie Jahr, Monat, Stunde, Minute und Zeitstempel
Nach dem Erstellen eines DateTime-Objekts können dessen Attribute auch separat gedruckt werden.
Python3
from> datetime>import> datetime> a>=> datetime(>1999>,>12>,>12>,>12>,>12>,>12>)> print>(>'year ='>, a.year)> print>(>'month ='>, a.month)> print>(>'hour ='>, a.hour)> print>(>'minute ='>, a.minute)> print>(>'timestamp ='>, a.timestamp())> |
>
>
Ausgabe:
year = 1999 month = 12 hour = 12 minute = 12 timestamp = 945000732.0>
Aktuelles Datum und Uhrzeit
Sie können das aktuelle Datum und die aktuelle Uhrzeit mit der Funktion Datetime.now() drucken. Die Funktion now() gibt das aktuelle lokale Datum und die aktuelle Uhrzeit zurück.
Python3
from> datetime>import> datetime> # Calling now() function> today>=> datetime.now()> print>(>'Current date and time is'>, today)> |
>
>
Ausgabe:
Current date and time is 2019-10-25 11:12:11.289834>
Konvertieren Sie Python Datetime in String
Mit dem können wir Datetime in Python in einen String konvertieren datetime.strftime und datetime.isoformat-Methoden.
Python3
from> datetime>import> datetime as dt> # Getting current date and time> now>=> dt.now()> string>=> dt.isoformat(now)> print>(string)> print>(>type>(string))> |
>
>Ausgabe
2021-08-19T18:13:25.346259>
Liste der Datetime-Klassenmethoden
| Funktionsname | Beschreibung |
|---|---|
| astimezone() | Gibt das DateTime-Objekt zurück, das Zeitzoneninformationen enthält. |
| kombinieren() | Kombiniert die Datums- und Uhrzeitobjekte und gibt ein DateTime-Objekt zurück |
| ctime() | Gibt eine Zeichenfolgendarstellung von Datum und Uhrzeit zurück |
| Datum() | Gibt das Date-Klassenobjekt zurück |
| fromisoformat() | Gibt ein Datetime-Objekt aus der Zeichenfolgendarstellung von Datum und Uhrzeit zurück |
| fromordinal() | Gibt ein Datumsobjekt aus der proleptischen gregorianischen Ordnungszahl zurück, wobei der 1. Januar des Jahres 1 die Ordnungszahl 1 hat. Stunde, Minute, Sekunde und Mikrosekunde sind 0 |
| fromtimestamp() | Gibt Datum und Uhrzeit vom POSIX-Zeitstempel zurück |
| Isokalender() | Gibt ein Tupeljahr, eine Woche und einen Wochentag zurück |
| isoformat() | Gibt die Zeichenfolgendarstellung von Datum und Uhrzeit zurück |
| isoweekday() | Gibt den Wochentag als Ganzzahl zurück, wobei Montag 1 und Sonntag 7 ist |
| Jetzt() | Gibt das aktuelle lokale Datum und die aktuelle Uhrzeit mit dem Parameter tz zurück |
| ersetzen() | Ändert die spezifischen Attribute des DateTime-Objekts |
| strftime() | Gibt eine Zeichenfolgendarstellung des DateTime-Objekts im angegebenen Format zurück |
| strptime() | Gibt ein DateTime-Objekt zurück, das der Datumszeichenfolge entspricht |
| Zeit() | Gibt das Time-Klassenobjekt zurück |
| timetuple() | Gibt ein Objekt vom Typ time.struct_time zurück |
| timetz() | Gibt das Time-Klassenobjekt zurück |
| Heute() | Geben Sie lokale DateTime mit tzinfo als None zurück |
| toordinal() | Gibt die proleptische gregorianische Ordnungszahl des Datums zurück, wobei der 1. Januar des Jahres 1 die Ordnungszahl 1 hat |
| tzname() | Gibt den Namen der Zeitzone zurück |
| utcfromtimestamp() | Gibt UTC vom POSIX-Zeitstempel zurück |
| utcoffset() | Gibt den UTC-Offset zurück |
| utcnow() | Gibt das aktuelle UTC-Datum und die aktuelle UTC-Uhrzeit zurück |
| Wochentag() | Gibt den Wochentag als Ganzzahl zurück, wobei Montag 0 und Sonntag 6 ist |
Python Timedelta-Klasse
Die Python-Timedelta-Klasse wird zum Berechnen von Datumsunterschieden verwendet und kann auch für Datumsmanipulationen in Python verwendet werden. Dies ist eine der einfachsten Möglichkeiten, Datumsmanipulationen durchzuführen.
Konstruktorsyntax:
Klasse datetime.timedelta(Tage=0, Sekunden=0, Mikrosekunden=0, Millisekunden=0, Minuten=0, Stunden=0, Wochen=0)
Rückgabe: Datum
Tage zum DateTime-Objekt hinzufügen
Die Demonstration der Timedelta-Funktion
Python3
from> datetime>import> datetime, timedelta> # Using current time> ini_time_for_now>=> datetime.now()> # printing initial_date> print>(>'initial_date'>,>str>(ini_time_for_now))> # Calculating future dates> # for two years> future_date_after_2yrs>=> ini_time_for_now>+> timedelta(days>=>730>)> future_date_after_2days>=> ini_time_for_now>+> timedelta(days>=>2>)> # printing calculated future_dates> print>(>'future_date_after_2yrs:'>,>str>(future_date_after_2yrs))> print>(>'future_date_after_2days:'>,>str>(future_date_after_2days))> |
>
>
Ausgabe:
initial_date 2019-10-25 12:01:01.227848 future_date_after_2yrs: 2021-10-24 12:01:01.227848 future_date_after_2days: 2019-10-27 12:01:01.227848>
Unterschied zwischen zwei Datums- und Uhrzeitangaben
Mit dieser Klasse können auch Datums- und Zeitunterschiede ermittelt werden.
Python3
# Timedelta function demonstration> from> datetime>import> datetime, timedelta> # Using current time> ini_time_for_now>=> datetime.now()> # printing initial_date> print>(>'initial_date'>,>str>(ini_time_for_now))> # Some another datetime> new_final_time>=> ini_time_for_now>+> > >timedelta(days>=>2>)> # printing new final_date> print>(>'new_final_time'>,>str>(new_final_time))> # printing calculated past_dates> print>(>'Time difference:'>,>str>(new_final_time>-> >ini_time_for_now))> |
>
>
Ausgabe:
initial_date 2019-10-25 12:02:32.799814 new_final_time 2019-10-27 12:02:32.799814 Time difference: 2 days, 0:00:00>
Von der Timedelta-Klasse unterstützte Operationen
| Operator | Beschreibung |
|---|---|
| Zusatz (+) | Fügt zwei Timedelta-Objekte hinzu und gibt sie zurück |
| Subtraktion (-) | Subtrahiert zwei Timedelta-Objekte und gibt sie zurück |
| Multiplikation (*) | Multipliziert das Timedelta-Objekt mit float oder int |
| Aufteilung (/) | Teilt das Timedelta-Objekt mit float oder int |
| Etagenaufteilung (//) | Teilt das Timedelta-Objekt durch Float oder Int und gibt den Int-Wert des Ausgangswerts zurück |
| Modul (%) | Dividiert zwei Timedelta-Objekte und gibt den Rest zurück |
| +(Zeitdelta) | Gibt das gleiche Timedelta-Objekt zurück |
| -(Zeitdelta) | Gibt das Ergebnis von -1*timedelta zurück |
| abs(Zeitdelta) | Gibt +(timedelta) zurück, wenn timedelta.days> 1=0, sonst wird -(timedelta) zurückgegeben. |
| str(timedelta) | Gibt eine Zeichenfolge im Format (+/-) Tag[s], HH:MM:SS.UUUUUU zurück |
| repr(timedelta) | Gibt die String-Darstellung in Form des Konstruktoraufrufs zurück |
Formatieren Sie DateTime in Python
Die Formatierung von DateTime kann sehr notwendig sein, da die Datumsdarstellung von Ort zu Ort unterschiedlich sein kann. In einigen Ländern kann es JJJJ-MM-TT sein, in anderen Ländern kann es TT-MM-JJJJ sein. Zum Formatieren von Python Datetime können die Funktionen strptime und strftime verwendet werden.
Python Datetime strftime
Eine strftime()-Methode konvertiert das angegebene Datum, die angegebene Uhrzeit oder das angegebene DateTime-Objekt in die Zeichenfolgendarstellung des angegebenen Formats.
Python Datetime-Format
Python-Programm zur Demonstration der Funktion strftime()
Python3
from> datetime>import> datetime as dt> # Getting current date and time> now>=> dt.now()> print>(>'Without formatting'>, now)> # Example 1> s>=> now.strftime(>'%A %m %-Y'>)> print>(>'
Example 1:'>, s)> # Example 2> s>=> now.strftime(>'%a %-m %y'>)> print>(>'
Example 2:'>, s)> # Example 3> s>=> now.strftime(>'%-I %p %S'>)> print>(>'
Example 3:'>, s)> # Example 4> s>=> now.strftime(>'%H:%M:%S'>)> print>(>'
Example 4:'>, s)> |
>
>Ausgabe
Without formatting 2021-08-19 18:16:25.881661 Example 1: Thursday 08 2021 Example 2: Thu 8 21 Example 3: 6 PM 25 Example 4: 18:16:25>
Notiz: Weitere Informationen finden Sie unter strftime()-Methode .
Python DateTime strptime
strptime() erstellt ein DateTime-Objekt aus der angegebenen Zeichenfolge.
Beispiel: DateTime strptime
Python3
# import datetime module from datetime> from> datetime>import> datetime> > # consider the time stamps from a list in string> # format DD/MM/YY H:M:S.micros> time_data>=> [>'25/05/99 02:35:8.023'>,>'26/05/99 12:45:0.003'>,> >'27/05/99 07:35:5.523'>,>'28/05/99 05:15:55.523'>]> > # format the string in the given format : day/month/year> # hours/minutes/seconds-micro seconds> format_data>=> '%d/%m/%y %H:%M:%S.%f'> > # Using strptime with datetime we will format string> # into datetime> for> i>in> time_data:> >print>(datetime.strptime(i, format_data))> |
>
Binäre Suche
>Ausgabe
1999-05-25 02:35:08.023000 1999-05-26 12:45:00.003000 1999-05-27 07:35:05.523000 1999-05-28 05:15:55.523000>
Python DateTime.tzinfo()
Der datetime.now()-Funktion enthält keine Informationen zu Zeitzonen. Es wird nur die aktuelle Systemzeit verwendet. Tzinfo ist eine abstrakte Basisklasse in Python. Es kann nicht direkt instanziiert werden. Von dieser abstrakten Klasse muss eine konkrete Unterklasse abgeleitet sein und die von ihr angebotenen Methoden implementieren.
Liste der Python DateTime.tzinfo()-Objekte
| Funktionsname | Beschreibung |
|---|---|
| dst() | Gibt tzinfo.dst() zurück, tzinfo ist nicht None |
| fromutc() | Der Zweck dieser Funktion besteht darin, die Datums- und Uhrzeitdaten anzupassen. Gibt eine äquivalente DateTime in der Ortszeit von self zurück. |
| tzname() | Gibt tzinfo.tzname() zurück, tzinfo ist nicht None |
| utcoffset() | Gibt tzinfo.utcffsets() zurück, tzinfo ist nicht None |
Beispiel
Die tzinfo-Klasseninstanz kann den Objektkonstruktoren DateTime und Time bereitgestellt werden. Es wird in Szenarien wie der Umrechnung der Ortszeit in UTC oder der Berücksichtigung der Sommerzeit verwendet.
Python3
import> datetime as dt> from> dateutil>import> tz> tz_string>=> dt.datetime.now(dt.timezone.utc).astimezone().tzname()> print>(>'datetime.now() :'>, tz_string)> NYC>=> tz.gettz(>'Europe / Berlin'>)> dt1>=> dt.datetime(>2022>,>5>,>21>,>12>,>0>)> dt2>=> dt.datetime(>2022>,>12>,>21>,>12>,>0>, tzinfo>=>NYC)> print>(>'Naive Object :'>, dt1.tzname())> print>(>'Aware Object :'>, dt2.tzname())> |
>
>
Ausgabe:
datetime.now() : IST Naive Object : None Aware Object : None>
Python DateTime-Zeitzone
Zeitzonen in DateTime können verwendet werden, wenn die Zeit entsprechend der Zeitzone einer bestimmten Region angezeigt werden soll. Dies kann mit der erfolgen Pytz-Modul von Python. Dieses Modul dient der Datum-Uhrzeit-Konvertierung und unterstützt Benutzer bei der Betreuung internationaler Kundenstämme.
Python3
from> datetime>import> datetime> from> pytz>import> timezone> format> => '%Y-%m-%d %H:%M:%S %Z%z'> # Current time in UTC> now_utc>=> datetime.now(timezone(>'UTC'>))> print>(now_utc.strftime(>format>))> timezones>=> [>'Asia/Kolkata'>,>'Europe/Kiev'>,>'America/New_York'>]> for> tzone>in> timezones:> ># Convert to Asia/Kolkata time zone> >now_asia>=> now_utc.astimezone(timezone(tzone))> >print>(now_asia.strftime(>format>))> |
>
>Ausgabe
2021-08-19 18:27:28 UTC+0000 2021-08-19 23:57:28 IST+0530 2021-08-19 21:27:28 EEST+0300 2021-08-19 14:27:28 EDT-0400>