J'ai récemment découvert que l'objet datetime
de Python semble être capable d'utiliser ** l'opérateur de comparaison **.
from datetime import datetime
targets = [ # 6/1 à 6/Jusqu'à 30 données
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),
#(Omis)
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)
]
Par exemple, si les données d'un mois ci-dessus sont transmises sous forme de tableau,
from_dt = datetime(2017, 6, 10)
to_dt = datetime(2017, 6, 20)
Créez un objet datetime
avec ** date de début ** et ** date de fin ** pour les dates que vous souhaitez obtenir.
Utilisez ensuite l'opérateur de comparaison sous la forme date de début <= objet datetime pour déterminer <= date de fin
.
for target in targets:
if from_dt <= target <= to_dt: # 6/Moins de 20 6/Supérieur à 10
print target
#résultat:
# 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
Vous pouvez maintenant obtenir les données de la date de début à la date de fin. C'est relativement facile
Recommended Posts