最初のステップは、Pythonの日時ライブラリを確認することでした。
全体として、最初のソリューションは次のようになります。
date1 = datetime.date(2004, 9, 25)
date2 = datetime.date(2004, 10, 8)
day = datetime.timedelta(days=1)
while date1 <= date2:
print date1.strftime('%Y.%m.%d')
date1 = date1 + day
(注意すべきことの1つ:これは明らかにdate1
変数を壊してしまいます)
後でこれを日付範囲関数にリファクタリングして、自分が行ったことに近いことを実行できるようにします。それは次のようになります
for d in daterange(date1, date2):
print d.strftime('%Y.%m.%d')
後で、Pythonスキルを開発すると、次のようになります。
for i in range((date2 - date1).days + 1):
print (date1 + datetime.timedelta(days=i)).strftime('%Y.%m.%d')
またはこれは私の最終バージョンになります:
def daterange(d1, d2):
return (d1 + datetime.timedelta(days=i) for i in range((d2 - d1).days + 1))
for d in daterange(date1, date2):
print d.strftime('%Y.%m.%d')