Pendulum für einfaches Datums- und Zeitmanagement in PythonPendulum für einfaches Datums- und Zeitmanagement in Python
Bild vom Autor | DALLE-3 & Canva

Heutzutage sind viele Anwendungen zeitkritisch und erfordern daher eine effektive Datums- und Zeitverwaltung. Python bietet viele Bibliotheken zur Bewältigung dieser Aufgabe, und eine der effektivsten ist Pendulum.

Das Pendel erbt von seinem Elternteil DateTime Bibliothek mit einer intuitiveren Benutzeroberfläche. Die Bibliothek bietet eine einfache API, automatische Zeitzonenbehandlung und erweiterte Funktionen wie Lokalisierung, menschenlesbare Unterschiede, Zeiträume und Dauer, die in nativen DateTime Bibliothek. Es verbessert auch die Effektivität und Benutzerfreundlichkeit der Zeitzonenverwaltung und von Datumsoperationen. Möchten Sie mehr über das Pendel erfahren? Dann fangen wir an.

Erste Schritte mit Pendulum

Der erste Schritt besteht darin, Pendulum zu installieren. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:

Importieren Sie als Nächstes die Bibliothek, um sie zu verwenden:

Lassen Sie uns im Folgenden einige der nützlichsten Funktionen des Pendulums besprechen.

Instanziierung

Erstellen eines DateTime Objekt ist einfach mit dem Pendel. Sie können die pendulum.datetime() Funktion zum Erstellen eines Objekts Ihrer Wahl. Hier ist ein einfaches Beispiel:

# Create a DateTime object
dt = pendulum.datetime(12 months=2024, month=7, day=9, hour=12, minute=34, second=56) 
print(dt)

Ausgabe:

2024-07-09 12:34:56+00:00

Sie können auch now() um das aktuelle Datum und die aktuelle Uhrzeit in Ihrer Area abzurufen:

# Get present date and time
now = pendulum.now()
print(now)

Ausgabe:

2024-07-17 20:07:20.149776+00:00

Hilfsmethoden

Hilfsmethoden (set(), on()Und at()) ermöglichen Ihnen die Änderung der Attribute eines bestehenden DateTime Objekt. Sie erstellen ein neues Objekt mit den angegebenen Attributänderungen, anstatt das ursprüngliche Objekt zu ändern. Ein kurzes Beispiel kann uns helfen, dieses Konzept zu verstehen. Beginnen Sie mit der Erstellung eines DateTime Objekt:

dt = pendulum.now()
print(dt)
# Output => 2024-07-17 20:07:20.149776+00:00

Nun verwenden wir die set() Methode, mit der Sie sowohl Datum als auch Uhrzeit ändern können:

change_dt= dt.set(12 months=2001, month=4, hour=6, minute=7)
print(change_dt)
# Output => 2001-04-17 06:07:20.149776+00:00

Alternativ können Sie on() das Datum zu ändern und at() um die Uhrzeit zu ändern DateTime Objekt. Die Methode on() hat drei obligatorische Argumente, nämlich „Jahr“, „Monat“ und „Tag“, während die Methode at() hat nur ein erforderliches Positionsargument, nämlich „Stunde“.

Hier ist ein kurzes Beispiel zum Verständnis dieses Konzepts:

# Utilizing on to vary the date
change_date= dt.on(12 months=2021,month=3,day=5)
print("Modified date:",change_date)

# Utilizing at to vary the time
change_time= dt.at(hour=5,second=50)
print("Modified time:",change_time)

Ausgabe:

Modified date: 2021-03-05 20:07:20.149776+00:00
Modified time: 2024-07-17 05:00:50+00:00

Datums-/Uhrzeitformatierung

Ob Sie nur das Datum, die Uhrzeit oder eine benutzerdefinierte Formatierung benötigen, Pendulum bietet viele Möglichkeiten, Datum und Uhrzeit entsprechend Ihren Aufgabenanforderungen zu formatieren. Lassen Sie uns diese verschiedenen Formatierungsarten anhand eines Beispiels verstehen:

dt = pendulum.now()
print("Date and Time with out Formatting:", dt)

# Formatting solely the date
formatted_date = dt.to_date_string()
print("Formatted Date:", formatted_date)

# Formatting solely the time
formatted_time = dt.to_time_string()
print("Formatted Time:", formatted_time)

# Customized formatting
custom_format = dt.format('dddd, MMMM Do, YYYY, h:mm:ss A')
print("Customized Formatted DateTime:", custom_format)

Ausgabe:

Date and Time with out Formatting: 2024-07-17 20:14:58.721312+00:00
Formatted Date: 2024-07-17
Formatted Time: 20:14:58
Customized Formatted DateTime: Wednesday, July seventeenth, 2024, 8:14:58 PM

Im Folgenden werden die bei der Formatierung verwendeten Funktionen erläutert:

  • bis_Datum_Zeichenfolge(): Formatiert das Datum im Format JJJJ-MM-TT
  • bis_Zeit_Zeichenfolge(): Formatiert die Zeit im 24-Stunden-Format, d. h. im Format „HH: MM: SS“
  • Format(‚tttt, MMMM Do JJJJ, h: mm: ss A‘): Formatiert die benutzerdefinierte Spezifikation des DateTime-Objekts wie folgt:
    • dddd: Vollständiger Identify des Wochentags, in unserem Beispiel additionally Dienstag
    • MMMM: Vollständiger Identify des Monats, in unserem Beispiel additionally Juli
    • Do: Tag des Monats mit Ordinal-Suffix, additionally in unserem Beispiel der 16.
    • YYYY: Jahr, additionally 2024 in unserem Beispiel
    • h: mm: ss A: 12-Stunden-Zeitformat mit AM/PM, additionally 19:13:23 Uhr in unserem Beispiel

Lokalisierung

Bei der Lokalisierung geht es darum, Datum und Uhrzeit gemäß bestimmten Regionen und kulturellen Konventionen darzustellen. Dies kann ganz einfach durch die locale Schlüsselwort mit dem format Methode oder die set_locale() Methode. Lassen Sie uns beide untersuchen:

dt = pendulum.now()

# Format to French
dt_french = dt.format('dddd, MMMM Do YYYY, h:mm:ss A',locale="fr")
print('French DateTime:',dt_french)

# Format to Dutch
pendulum.set_locale('nl')
dt_dutch =dt.format('dddd, MMMM Do YYYY, h:mm:ss A')
print('Dutch DateTime:',dt_dutch)

Ausgabe:

French DateTime: mercredi, juillet 17e 2024, 8:17:02 PM
Dutch DateTime: woensdag, juli 17e 2024, 8:17:02 p.m.

Zeitzonen umrechnen

Das Pendulum unterstützt alle in der Zeitzonendatenbank aufgeführten Zeitzonen. Sie können mit nur einem Befehl ganz einfach zwischen verschiedenen Zeitzonen wechseln. Erwägen Sie beispielsweise die Umrechnung des aktuellen Datums und der aktuellen Uhrzeit in Ihrer Area in das Datum und die Uhrzeit in London, Großbritannien. Dies lässt sich wie folgt veranschaulichen:

dt = pendulum.now()
print("Date and Time in my area:", dt)

# Convert the regional time to London's time. Comply with the format in_timezone(Metropolis/Continent)
london_time = dt.in_timezone('Europe/London')
print("Date and Time in London:", london_time)

Ausgabe:

Date and Time in my area: 2024-07-17 20:26:02.525060+00:00
Date and Time in London: 2024-07-17 21:26:02.525060+01:00

Addition und Subtraktion

Die Bibliothek bietet einfache add() Und subtract() Methoden zur Berechnung von Daten und Zeiten in der Zukunft und Vergangenheit. Hier ist ein Beispiel zu Ihrer Data:

# Add 5 days and a pair of hours
dt_future= pendulum.now().add(days=5, hours=2)
print("Including date and time:",dt_future)

# Subtract 2 weeks and 5 minutes
dt_past = pendulum.now().subtract(weeks=2,minutes=5)
print("Subtracting date and time:",dt_past)

Ausgabe:

Including date and time: 2024-07-22 22:28:01.070802+00:00
Subtracting date and time: 2024-07-03 20:23:01.071146+00:00

Menschlicher Unterschied

Sie können die Ausgabe von Addition und Subtraktion als menschenlesbare Differenz anzeigen, indem Sie diff_for_humans() Funktion. Lassen Sie uns diese interessante Funktion anhand eines Beispiels untersuchen.

# Create a DateTime object
dt=pendulum.now()

# Subtract 2 months 
dt_past = dt.subtract(months=2).diff_for_humans()
print(dt_past)
# Output => 2 months in the past

# Add 5 years 
dt_future= dt.add(years=5).diff_for_humans()
print(dt_future)
# Output => in 5 years

Sie können die Wörter entfernen vor Und In durch Einstellen der absolute = True im diff_for_humans() Funktion. Es ist False standardmäßig. So können Sie es tun:

difference_dt=dt.add(days=2).diff_for_humans(absolute=True)
print(difference_dt)
# Output => 2 days

Einpacken

Zusammenfassend lässt sich additionally sagen, dass Pendulum eine nützliche Bibliothek für die Verwaltung von Datum und Uhrzeit ist. Die Bibliothek bringt viele Verbesserungen für Pythons native DateTime Bibliothek und löst viele ihrer Komplexitäten. Ich denke, dass eines der besten Options von Pendulum seine Flexibilität und effiziente Handhabung der Zeitzonenverwaltung ist. Weitere Options finden Sie unter Pendeldokumentation.

Kanwal Mehreen Kanwal ist Ingenieurin für maschinelles Lernen und technische Autorin mit einer tiefen Leidenschaft für Datenwissenschaft und die Schnittstelle zwischen KI und Medizin. Sie ist Mitautorin des E-Books „Maximizing Productiveness with ChatGPT“. Als Google Technology Scholar 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie ist außerdem als Teradata Range in Tech Scholar, Mitacs Globalink Analysis Scholar und Harvard WeCode Scholar anerkannt. Kanwal ist eine leidenschaftliche Verfechterin des Wandels und hat FEMCodes gegründet, um Frauen in MINT-Fächern zu stärken.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert