UTC datetime dilini İsveççe biçimine çevirirseniz, yaz saati eklenir (CEST). Ancak, zaman dilimi olarak isveç ile bir datetime oluştururken, CEST yerine CET alır. Bu neden?Python datetime pytz zaman dilimini kullanırken DST'yi içermiyor
>>> # Modified for readability
>>> import pytz
>>> import datetime
>>> sweden = pytz.timezone('Europe/Stockholm')
>>>
>>> datetime.datetime(2010, 4, 20, 16, 20, tzinfo=pytz.utc).astimezone(sweden)
datetime(2010, 4, 20, 18, 20, tzinfo=<... 'Europe/Stockholm' CEST+2:00:00 DST>)
>>>
>>> datetime.datetime(2010, 4, 20, 18, 20, tzinfo=sweden)
datetime(2010, 4, 20, 18, 20, tzinfo=<... 'Europe/Stockholm' CET+1:00:00 STD>)
>>>
Bilgi için teşekkürler! Ayrıca, bir pytz.timezone nesnesinin localize işlevi, datetime yerine yerelleştirilmiş veri süresini oluşturmak için kullanılabilir (..., tzinfo =) –
Jesper
@Jesper: [pytz docs] (http://pytz.sf.net) DST ile saat dilimi için tzinfo parametresi ile datetime constructor yerine .localize() kullanmayı açıkça belirtin. – jfs