Найти - Пользователи
Полная версия: python 2.6 calendar
Начало » Python для новичков » python 2.6 calendar
1
legioner
Всем привет. возникла необходимость получения массива дат(DD.MM.YYYY) за определенный промежуток времени.
я знаю что могу получить за месяц с помощь calendar.monthcalendar(2010, 11)
Как решить данную проблему?
pyuser
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))
legioner
спс pyuser большое.
pyuser
у Вас шаг странный, он равен числу дней между датами :) поэтому вы и получили всего две даты.
сдвиг на один час - в этот период был перевод времени
попробуйте:
    start = datetime(2010, 10, 3)
stop = datetime(2010, 11, 10)
step = timedelta(days=1)

print(range_(start, stop, step))
чтобы сдвига на один час не было заметно, почитайте про tzinfo
legioner
да я потом прочитал и понял. и поэтому удалил свой пост :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB