Python では時間の計算を行う際、timedelta を利用することが出来ます。 timedelta
を使うと、例えば「XX 時から YY 時まで ZZ 分間隔で表示する」といったことも簡単に実現出来ます。
XX 時から YY 時まで ZZ 分間隔で表示する
例えば「2020/1/1 10:00 ~ 2020/1/1 11:00 までの間を 5 分間隔で表示する」には以下のようなコードで実現出来ます。
import datetime date1 = datetime.datetime(year=2020, month=1, day=1, hour=10, minute=0) date2 = datetime.datetime(year=2020, month=1, day=1, hour=11, minute=0) delta = datetime.timedelta(minutes=5) while date1 < date2: print(date1) date1 = date1 + delta
実行例は以下の通りです。
$ python example.py 2020-01-01 10:00:00 2020-01-01 10:05:00 2020-01-01 10:10:00 2020-01-01 10:15:00 2020-01-01 10:20:00 2020-01-01 10:25:00 2020-01-01 10:30:00 2020-01-01 10:35:00 2020-01-01 10:40:00 2020-01-01 10:45:00 2020-01-01 10:50:00 2020-01-01 10:55:00
文字フォーマットを指定して表示する
日時を指定書式で表示したい場合は date.strftime を使います。
import datetime date1 = datetime.datetime(year=2020, month=1, day=1, hour=10, minute=0) date2 = datetime.datetime(year=2020, month=1, day=1, hour=11, minute=0) delta = datetime.timedelta(minutes=5) while date1 < date2: print(date1.strftime('%Y.%m.%d %H:%M')) date1 = date1 + delta
実行例は以下の通りです。
$ python example.py 2020.01.01 10:00 2020.01.01 10:05 2020.01.01 10:10 2020.01.01 10:15 2020.01.01 10:20 2020.01.01 10:25 2020.01.01 10:30 2020.01.01 10:35 2020.01.01 10:40 2020.01.01 10:45 2020.01.01 10:50 2020.01.01 10:55