This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author skip.montanaro
Recipients
Date 2006-09-06.18:11:13
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
When using the pytz package (http://pytz.sf.net/) to create
timezone info objects datetime.datetime.now() behaves
differently than the regular datetime.datetime()
contstructor.  Here's an example:

    >>> import pytz
    >>> info = pytz.timezone("US/Central")
    >>> info
    <DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>
    >>> import datetime
    >>> now = datetime.datetime.now(tz=info)
    >>> now
    datetime.datetime(2006, 9, 6, 12, 44, 18, 983849,
tzinfo=<DstTzInfo 'US/Central' CDT-1 day, 19:00:00 DST>)
    >>> t2 = datetime.datetime(2006, 9, 6, 12, 44, 18,
983849, tzinfo=info)
    >>> t2
    datetime.datetime(2006, 9, 6, 12, 44, 18, 983849,
tzinfo=<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>)
    >>> now.tzinfo == info
    False
    >>> t2.tzinfo == info
    True

It appears that datetime.datetime.now() makes an
off-by-one-hour copy of the timezone info it was passed.
I've reproduced this on 2.4.3 and 2.5c1 as of August 17.

(It's also a little annoying that the timezone arg for
datetime.datetime.now() is "tz" while the timezone arg for
datetime.datetime() is "tzinfo".  Is there a good
reason for
them to be different?)

Skip
History
Date User Action Args
2007-08-23 14:42:34adminlinkissue1553577 messages
2007-08-23 14:42:34admincreate