dateutil rrule은 DST 및 TZ를 지원합니까? iCalendar RRULE과 비슷한 것이 필요합니다.반복 일정에서 DST 및 TZ를 처리하는 방법은 무엇입니까?
하지 않는 경우 -이 문제 (일정 반복 이벤트 & DST 오프셋 변경)
수입 timedelta와
>>> from django.utils import timezone
>>> import pytz
>>> from datetime import timedelta
>>> from dateutil import rrule
>>> now = timezone.now()
>>> pl = pytz.timezone("Europe/Warsaw")
문제를 해결하는 방법 (동일한 로컬 시간이 필요하지만, 다른 DST 오프셋) : RRULE와
>>> pl.normalize(now)
datetime.datetime(2012, 9, 20, 1, 16, 58, 226000, tzinfo=<DstTzInfo 'Europe/Warsaw' CEST+2:00:00 DST>)
>>> pl.normalize(now+timedelta(days=180))
datetime.datetime(2013, 3, 19, 0, 16, 58, 226000, tzinfo=<DstTzInfo 'Europe/Warsaw' CET+1:00:00 STD>)
문제 (각 경우마다 로컬 동일한 시간이 필요)
>>> r = rrule.rrule(3,dtstart=now,interval=180,count=2)
>>> pl.normalize(r[0])
datetime.datetime(2012, 9, 20, 1, 16, 58, tzinfo=<DstTzInfo 'Europe/Warsaw' CEST+2:00:00 DST>)
>>> pl.normalize(r[1])
datetime.datetime(2013, 3, 19, 0, 16, 58, tzinfo=<DstTzInfo 'Europe/Warsaw' CET+1:00:00 STD>)
일광 절약 및 시간대에 대한 우수 사례는 http://stackoverflow.com/q/2532729/1167333에 나와 있습니다. – oberron