Einführung in die Arbeit mit Datum und Zeit
Lass uns mit einem kleinen Gedankenexperiment starten: Stell dir vor, Computer könnten nicht mit Datum und Zeit umgehen. Horror! Unsere Lieblingsgeräte wären komplett nutzlos beim Planen und Automatisieren von Aufgaben. Schauen wir uns an, wie Python uns hilft, keine wichtigen Meetings zu verpassen und Routineaufgaben zu automatisieren.
Die Arbeit mit Datum und Zeit ist ein wesentlicher Bestandteil der Programmierung, besonders wenn es um Automatisierung geht. Stell dir vor: Du hast Berichte, die jede Stunde aktualisiert werden müssen, oder Erinnerungen, die dich daran erinnern sollen, eine Pause einzulegen (ja, denn du sitzt schon seit 5 Stunden vor dem Bildschirm!). Python bietet viele Tools zur Arbeit mit Datum und Zeit, die wir in dieser Vorlesung besprechen werden.
1. Module zur Arbeit mit Datum und Zeit
Python hat mehrere Module, die die Arbeit mit Datum und Zeit erleichtern. Wir konzentrieren uns auf drei Hauptmodule: datetime, time und calendar.
-
datetime: Wahrscheinlich werden wir die meiste Arbeit mit Datum und Zeit mit diesem Modul erledigen. Es bietet Klassen für die Arbeit mit einzelnen Daten, Zeiten und deren Kombinationen. -
time: Dieses Modul bietet Funktionen für die Arbeit mit niedrigstufigen Zeitdarstellungen, meist zur Interaktion mit der Systemzeit. -
calendar: Hilft dir bei der Arbeit mit Kalendern (nun, das ist selbsterklärend).
Wichtige Funktionen und Klassen des Moduls datetime
Lass uns tiefer in das Modul datetime eintauchen und seine wichtigsten Komponenten betrachten.
Klasse date
Diese Klasse wird für die Arbeit mit Daten verwendet. Sie ermöglicht es, Jahre, Monate und Tage festzulegen und zu ändern, ohne sie an die Uhrzeit zu binden.
from datetime import date
# Erstellen eines date-Objekts
my_birthday = date(1990, 12, 25)
print("Datum meines Geburtstags:", my_birthday)
Klasse time
Diese Klasse handelt, wie der Name schon sagt, nur von Zeit — Stunden, Minuten, Sekunden. Ideal für Fälle, in denen die Zeit unabhängig vom Datum verwaltet werden muss.
from datetime import time
# Erstellen eines time-Objekts
meeting_time = time(14, 30) # 14:30
print("Das Meeting ist um:", meeting_time)
Klasse datetime
Das universellste Tool, das Datum und Zeit in einem kombiniert.
from datetime import datetime
# Aktuelles Datum und Zeit
now = datetime.now()
print("Aktuelles Datum und Zeit:", now)
2. Nutzung des Moduls datetime für das Abrufen aktueller Daten und Uhrzeiten
Das Abrufen des aktuellen Datums und der Uhrzeit ist die Grundlage für Planung und Automatisierung. Im Modul datetime gibt es mehrere praktische Methoden, um dies zu erreichen.
Aktuelles Datum und Uhrzeit abrufen
Mit den Methoden datetime.now() und datetime.today() kannst du ganz einfach das aktuelle Datum und die aktuelle Zeit abrufen.
now = datetime.now()
print("Aktuelles Datum und Zeit (now):", now)
today = datetime.today()
print("Aktuelles Datum (today):", today)
Arbeiten mit datetime-Objekten
Das datetime-Objekt ermöglicht es dir, Zeitkomponenten wie Jahr, Monat, Tag und viele mehr zu extrahieren. Außerdem ist es wichtig, die Unterschiede zwischen lokaler und universeller Zeit (UTC) zu beachten.
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second
print(f"Heute: {day}/{month}/{year}, und die Zeit: {hour}:{minute}:{second}")
Beim Entwickeln von Anwendungen solltest du die Unterschiede zwischen lokaler und UTC-Zeit beachten, denn die Welt ist riesig und jeder hat seine eigene Uhr!
3. Beispiele für die Nutzung aktueller Daten und Zeiten in realen Aufgaben
Angenommen, du musst jede Stunde Daten aus einer Quelle abrufen. Dies kann leicht automatisiert werden, indem die aktuelle Zeit mit der vorherigen Extraktion verglichen wird. Zum Beispiel:
from datetime import timedelta
last_run = datetime.now() - timedelta(hours=1)
current_time = datetime.now()
# Wenn der letzte Lauf vor mehr als einer Stunde war
if current_time - last_run > timedelta(hours=1):
print("Zeit, die Daten zu aktualisieren!")
last_run = current_time
Dieser Code erinnert uns effektiv daran, etwas nur zu tun, wenn mehr als eine Stunde vergangen ist. Beachte, wie bequem es ist, timedelta für mathematische Operationen mit Zeit zu verwenden.
GO TO FULL VERSION