Message29780
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
|
|
Date |
User |
Action |
Args |
2007-08-23 14:42:34 | admin | link | issue1553577 messages |
2007-08-23 14:42:34 | admin | create | |
|