from datetime import date, datetime, timedelta
#Generatorfunktion, die den Iterator des Datumsobjekts zurückgibt
#Anfangsdatum: begin
#Endtermin: end
def date_iterator_generator(begin, end):
#Ermitteln Sie die Anzahl der Tage ab dem Zeitdelta von Enddatum und Startdatum
#Um das Enddatum anzugeben+1
length = (end - begin).days + 1
#Numerische Reihenfolge von 0 bis Tagen
for n in range(length):
yield begin + timedelta(n)
#Anfangsdatum Enddatum
begin = datetime.strptime('20200331', '%Y%m%d').date()
end = date.today() #Heutiges Datum
#Generator generieren
gen = date_iterator_generator(begin, end)
print('gen: ' + str(gen))
#Ausgabedatum
for target in gen:
print(target.strftime('%Y%m%d'))
Ergebnis der Ausführung unter Python 3.8.2.
gen: <generator object date_iterator_generator at 0x104e0f900>
20200331
20200401
20200402
20200403
20200404
20200405
Funktionsprogrammierung HOWTO - Python 3 \ .8 \ .2 Dokumentation
Generatoren sind spezielle Funktionen, die das Schreiben von Iteratoren erleichtern. Eine Standardfunktion berechnet einen Wert und gibt ihn zurück, aber der Generator gibt einen Iterator zurück, der eine Reihe von Werten zurückgibt.
Integrierte Dokumentation zu Python 3 \ .8 \ .2
Der Bereichstyp stellt eine unveränderliche Folge von Zahlen dar und wird üblicherweise für eine bestimmte Anzahl von Schleifen in einer for-Schleife verwendet.
Datum / Uhrzeit \ - \ - \ - Grundlegende Datums- und Uhrzeittypen - Python 3 \ .8 \ .2-Dokumentation
Das Zeitdelta-Objekt repräsentiert die verstrichene Zeit, dh die Differenz zwischen zwei Daten oder Zeiten.