On 15-04-15, Akira Li <4kir4...@gmail.com> wrote: > Isaac Schwabacher <ischwabac...@wisc.edu> writes: > > ... > > > > I know that you can do datetime.now(tz), and you can do datetime(2013, > > 11, 3, 1, 30, tzinfo=zoneinfo('America/Chicago')), but not being able > > to add a time zone to an existing naive datetime is painful (and > > strptime doesn't even let you pass in a time zone). > > `.now(tz)` is correct. `datetime(..., tzinfo=tz)`) is wrong: if tz is a > pytz timezone then you may get a wrong tzinfo (LMT), you should use > `tz.localize(naive_dt, is_dst=False|True|None)` instead.
The whole point of this thread is to finalize PEP 431, which fixes the problem for which `localize()` and `normalize()` are workarounds. When this is done, `datetime(..., tzinfo=tz)` will be correct. ijs _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com