Reputation:
I think about how to iterate by data and time in following way:
2016-06-10,00:00
2016-06-10,01:30
2016-06-10,02:00
2016-06-10,02:30
....
Can somebody help me ?
Upvotes: 2
Views: 6481
Reputation: 36635
Use timedelta
to generate a range of datetime
objects:
from datetime import timedelta, datetime
start_date = datetime(2016, 6, 9, 5, 0, 0)
for td in (start_date + timedelta(minutes=30*it) for it in xrange(10)):
print td.strftime("%Y-%m-%d,%H:%M")
Output:
2016-06-09,05:00
2016-06-09,05:30
2016-06-09,06:00
2016-06-09,06:30
2016-06-09,07:00
2016-06-09,07:30
2016-06-09,08:00
2016-06-09,08:30
2016-06-09,09:00
2016-06-09,09:30
Upvotes: 4
Reputation: 8047
import datetime
from datetime import timedelta
format = "%Y-%m-%d,%H:%M"
start = datetime.datetime(2016, 6, 10, 0, 0)
minutes = 0
for i in range(6):
print (start + timedelta(minutes=minutes)).strftime(format)
minutes += 30
Output:
$ python timespan.py
2016-06-10,00:00
2016-06-10,00:30
2016-06-10,01:00
2016-06-10,01:30
2016-06-10,02:00
2016-06-10,02:30
Upvotes: 2