Форум сайта python.su
0
Всем привет. возникла необходимость получения массива дат(DD.MM.YYYY) за определенный промежуток времени.
я знаю что могу получить за месяц с помощь calendar.monthcalendar(2010, 11)
Как решить данную проблему?
Офлайн
36
import time as _time
from datetime import datetime
def range_(start, stop, step):
""" start, stop - datetime
step - timedelta """
start = int(_time.mktime(start.timetuple()))
stop = int(_time.mktime(stop.timetuple())) + 1
step = step.days * 86400 + step.seconds
return map(datetime.fromtimestamp, xrange(start, stop, step))
Офлайн
0
спс pyuser большое.
Офлайн
36
у Вас шаг странный, он равен числу дней между датами :) поэтому вы и получили всего две даты.
сдвиг на один час - в этот период был перевод времени
попробуйте:
start = datetime(2010, 10, 3)
stop = datetime(2010, 11, 10)
step = timedelta(days=1)
print(range_(start, stop, step))
Офлайн
0
да я потом прочитал и понял. и поэтому удалил свой пост :)
Офлайн