Ich habe kürzlich entdeckt, dass Pythons datetime
-Objekt den ** Vergleichsoperator ** verwenden kann.
from datetime import datetime
targets = [ # 6/1 bis 6/Bis zu 30 Daten
datetime.datetime(2017, 6, 1, 0, 0),
datetime.datetime(2017, 6, 2, 0, 0),
datetime.datetime(2017, 6, 3, 0, 0),
datetime.datetime(2017, 6, 4, 0, 0),
datetime.datetime(2017, 6, 5, 0, 0),
#(Weggelassen)
datetime.datetime(2017, 6, 25, 0, 0),
datetime.datetime(2017, 6, 26, 0, 0),
datetime.datetime(2017, 6, 27, 0, 0),
datetime.datetime(2017, 6, 28, 0, 0),
datetime.datetime(2017, 6, 29, 0, 0),
datetime.datetime(2017, 6, 30, 0, 0)
]
Wenn beispielsweise die oben genannten Monatsdaten als Array übergeben werden,
from_dt = datetime(2017, 6, 10)
to_dt = datetime(2017, 6, 20)
Erstellen Sie ein datetime
-Objekt mit ** Startdatum ** und ** Enddatum ** für die Daten, die Sie erhalten möchten.
Verwenden Sie dann den Vergleichsoperator in der Form "Startdatum <= Datum / Uhrzeit-Objekt", um <= Enddatum "zu bestimmen.
for target in targets:
if from_dt <= target <= to_dt: # 6/Weniger als 20 6/Größer als 10
print target
#Ergebnis:
# 2017-06-10 00:00:00
# 2017-06-11 00:00:00
# 2017-06-12 00:00:00
# 2017-06-13 00:00:00
# 2017-06-14 00:00:00
# 2017-06-15 00:00:00
# 2017-06-16 00:00:00
# 2017-06-17 00:00:00
# 2017-06-18 00:00:00
# 2017-06-19 00:00:00
# 2017-06-20 00:00:00
Jetzt können Sie die Daten vom Startdatum bis zum Enddatum abrufen. Es ist relativ einfach
Recommended Posts