我从当地时间转换为UTC有什么问题

时间:2015-08-06 19:57:49

标签: python python-3.x pytz

根据timeanddate.com,目前芝加哥比UTC晚了5个小时。但是,我的Python应用程序有不同的看法:

import datetime
import pytz

    local_tz = pytz.timezone('America/Chicago')
    local_time = datetime.datetime(2015, 8, 6, 0, 0, tzinfo=local_tz)
    utc_time = local_time.astimezone(pytz.utc)
    print(local_time)
    print(utc_time)

2015-08-06 00:00:00-05:51
2015-08-06 05:51:00+00:00

我与'America / Chicago'和'US / Central'的结果相同。为什么偏移-05:51而不是-05:00?

1 个答案:

答案 0 :(得分:3)

#!/usr/bin/python 个时区对象需要在使用前的特定时间进行初始化,并且创建带pytz参数的datetime不允许这样做。您必须使用tzinfo=对象的localize方法将时区添加到pytz

datetime