Python で XX 時から YY 時まで ZZ 分間隔で表示する
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
|
実行例は以下の通りです。
1
2
3
4
5
6
7
8
9
10
11
12
13 | $ 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
|
実行例は以下の通りです。
1
2
3
4
5
6
7
8
9
10
11
12
13 | $ 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
|