On Wed, Jul 1, 2015 at 10:36 AM, Peter Pearson <pkpearson@nowhere.invalid> wrote: > On Wed, 1 Jul 2015 17:15:38 +1000, Chris Angelico <ros...@gmail.com> wrote: >> >> Interestingly, when I tried this (pytz version 2015.4, Python 2.7.9, >> Debian Jessie), I saw utcoffset() showing (-1, 58020) for both. That >> seems... odd. And I can't fault your dates - those definitely ought to >> be easily inside and easily outside the DST boundaries. When I try >> those dates in an unrelated time converter, they do show seven- and >> eight- hour offsets to UTC. Maybe we're both misunderstanding the >> meaning of utcoffset()? > > Here's a very simple demonstration that either something is wrong > or I don't understand how datetime and tzinfo are supposed to work: > > $ python > Python 2.7.3 (default, Mar 13 2014, 11:03:55) >>>> from pytz import timezone >>>> from datetime import datetime >>>> pacific = timezone("US/Pacific") >>>> print(datetime(2014, 7, 7, 12, tzinfo=pacific)) > 2014-07-07 12:00:00-08:00 >>>> print(datetime(2014, 1, 7, 12, tzinfo=pacific)) > 2014-01-07 12:00:00-08:00 >>>> > > The "-08:00" is appropriate in the second (January) case, but the > first case is in July, and should have "-07:00".
Use this instead: >>> print(pacific.localize(datetime(2014, 7, 7, 12))) 2014-07-07 12:00:00-07:00 See http://pytz.sourceforge.net/#localized-times-and-date-arithmetic -- https://mail.python.org/mailman/listinfo/python-list