为什么1小时错了?

时间:2015-12-17 14:04:15

标签: python datetime pytz babel

斯德哥尔摩(欧洲)的时间是15:0x。但是我的本地化时间错误了1小时:

>>> datetime.datetime.now()
datetime.datetime(2015, 12, 17, 15, 2, 42, 633000)
>>> babel.dates.format_datetime(datetime.datetime.now(), 'full', tzinfo=pytz.timezone('Europe/Stockholm'),locale='en')
u'Thursday, December 17, 2015 at 4:02:49 PM Central European Standard Time'
>>>

错误是什么?

2 个答案:

答案 0 :(得分:4)

明确比隐含更好。设置now的时区:

now = datetime.datetime.now(tz=pytz.timezone('Europe/Stockholm'))

答案 1 :(得分:1)

问题似乎是在datetime.datetime.now()电话的当地时间出现问题。如评论中所述,使用datetime.datetime.utcnow()作为时区不可知coordinated universal time,或将所需的时区信息输入日期时间调用datetime.datetime.now(tz=pytz.timezone('Europe/Stockholm'))