Einführung
In Python bietet das Modul datetime Klassen zum Arbeiten mit Daten und Zeiten. Eine häufige Aufgabe ist es, eine Liste von Daten zwischen zwei angegebenen Daten zu erstellen. In dieser Herausforderung werden Sie eine Funktion erstellen, die zwei Daten als Eingabe nimmt und eine Liste aller Daten zwischen ihnen zurückgibt.
Datumsbereich
Schreiben Sie eine Python-Funktion namens daterange(start, end), die zwei datetime.date-Objekte als Argumente nimmt und eine Liste aller Daten zwischen ihnen zurückgibt. Die Liste sollte das Startdatum enthalten, aber nicht das Enddatum.
Um dieses Problem zu lösen, können Sie die folgenden Schritte ausführen:
- Verwenden Sie
datetime.timedelta.days, um die Anzahl der Tage zwischenstartundendzu erhalten. - Verwenden Sie
int(), um das Ergebnis in einen Integer zu konvertieren, undrange(), um über jeden Tag zu iterieren. - Verwenden Sie eine Listenkomprehension und
datetime.timedelta, um eine Liste vondatetime.date-Objekten zu erstellen.
from datetime import timedelta, date
def daterange(start, end):
return [start + timedelta(n) for n in range(int((end - start).days))]
from datetime import date
daterange(date(2020, 10, 1), date(2020, 10, 5))
## [date(2020, 10, 1), date(2020, 10, 2), date(2020, 10, 3), date(2020, 10, 4)]
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie mithilfe des datetime-Moduls in Python eine Liste von Daten zwischen zwei angegebenen Daten erstellen. Sie können diese Funktion verwenden, um eine Vielzahl von Problemen zu lösen, wie z. B. die Berechnung der Anzahl der Tage zwischen zwei Daten oder das Generieren einer Liste von Daten für einen bestimmten Monat oder Jahr.