Tak dokumentace je tady: http://pythonhosted.org/pytz/ :)
Jinak co se mi osvědčilo je používat všude UTC a teprve v UI těsně před zobrazením to převést do uživatelovo zóny (u javascriptových aplikací nejlépe přímo v prohlížeči). (Ano, PostgreSQL umí timezony, ale jiné technologie/serializace ne anebo mezi tím není hladký přechod.) PM Dne 26. července 2017 14:52 Jakub Vysoky <ja...@borka.cz> napsal(a): > Taky to tak nekde pouzivam. Pritom bych dal ruku do ohne, ze to bylo > vycucly z nejaky dokumentace. > > Asi to nebyla dokumentace, ale stackoverflow :) > > Dik! > > On Wed, 26 Jul 2017 at 09:47, Vláďa Macek <ma...@sandbox.cz> wrote: > >> Dejte si bacha. >> >> Pekne me dnes pokousaly timezony a to jsem si myslel, ze se vyznam. :-) >> >> Django 1.11 preslo nejak vic na vyuzivani `pytz`, ktere dodava casove >> zony s vice informacemi a datetime.replace, ktere jsem do te doby nespravne >> pouzival, se mi fakt nevyplatilo... >> >> >>> import datetime >> >>> import pytz >> >> >>> tz = pytz.timezone('Europe/Prague') >> >>> tz >> <DstTzInfo 'Europe/Prague' PMT+0:58:00 STD> >> >>> # Strasidelne. :-) To mam nekde chybu, ne... >> >>> d_praha_naivni = datetime.datetime(2017, 6, 8, 10, 19, 52) >> >>> d_praha_vnuceno_blbe = d_praha_naivni.replace(tzinfo=tz) >> >> >>> d_utc_naivni = datetime.datetime.strptime('2017-06-08T08:19:52+00:00', >> '%Y-%m-%dT%H:%M:%S+00:00') >> >>> d_utc_naivni >> datetime.datetime(2017, 6, 8, 8, 19, 52) >> >> >>> d_utc_vnuceno_blbe = d_utc_naivni.replace(tzinfo=pytz.utc) >> >>> d_utc_vnuceno_blbe >> datetime.datetime(2017, 6, 8, 8, 19, 52, tzinfo=<UTC>) >> >> >>> d_praha_vnuceno_blbe == d_utc_vnuceno_blbe >> False >> >>> # Pritom stejny cas... lepe: >> >> >>> d_praha = tz.localize(d_praha_naivni) >> >>> d_praha >> datetime.datetime(2017, 6, 8, 10, 19, 52, tzinfo=<DstTzInfo >> 'Europe/Prague' CEST+2:00:00 DST>) >> >> >>> d_utc = pytz.utc.localize(d_utc_naivni) >> >>> d_utc >> datetime.datetime(2017, 6, 8, 8, 19, 52, tzinfo=<UTC>) >> >> >>> d_praha == d_utc >> True >> >>> # Konecne mi to uznal. :-) >> >> >>> d_utc == d_utc_vnuceno_blbe >> True >> >>> # Vnuceni UTC pomoci replace() zjevne vadi min... :-> >> >> >> --------------------------------------------------------------------------- >> >> Freehosting PIPNI - http://www.pipni.cz/ >> >> _______________________________________________ >> Python mailing list >> python@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> Visit: http://www.py.cz > > -- > Jakub Vysoky > > mob: +420 605 852 377 <605%20852%20377> > jab: jakub.vys...@gmail.com > twit: https://twitter.com/kvbik > > _______________________________________________ > Python mailing list > python@py.cz > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz >
_______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz