簡體   English   中英

我從當地時間轉換為UTC有什么問題

[英]What is wrong with my conversion from local time to UTC

根據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

我在“美國/芝加哥”和“美國/中部”獲得了相同的結果。 為什么偏移-05:51而不是-05:00?

pytz時區對象需要在使用之前使用特定時間進行初始化,並且使用tzinfo=參數創建datetime時間不允許這樣做。 您必須使用pytz對象的localize方法將時區添加到datetime

>>> local_tz = pytz.timezone('America/Chicago')
>>> local_time = local_tz.localize(datetime.datetime(2015, 8, 6, 0, 0))
>>> print local_time
2015-08-06 00:00:00-05:00
>>> utc_time = local_time.astimezone(pytz.utc)
>>> print utc_time
2015-08-06 05:00:00+00:00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM