क्या डेट्यूटिल क्रूएल डीएसटी और टीजेड का समर्थन करता है? ICalendar RRULE के समान कुछ चाहिए।पुनरावर्ती घटनाओं में डीएसटी और टीजेड को कैसे संभालें?
यदि नहीं - कैसे इस समस्या (शेड्यूलिंग पुनरावर्ती ईवेंट & डीएसटी ऑफसेट बदलें)
आयात
>>> from django.utils import timezone
>>> import pytz
>>> from datetime import timedelta
>>> from dateutil import rrule
>>> now = timezone.now()
>>> pl = pytz.timezone("Europe/Warsaw")
timedelta से संबंधित समस्या से निपटने के लिए (एक ही स्थानीय घंटे की आवश्यकता है, लेकिन अलग अलग डीएसटी ऑफसेट) :
>>> 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>)
rrule साथ अंक (एक ही प्रत्येक घटना के हर स्थानीय घंटे की आवश्यकता है):
>>> 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