Python 的 America/New_York 时间偏移显示 -04:56

问题描述 投票:0回答:1

我目前使用的是Python 3.9.6并且有这个简单的代码

import datetime
import pytz

est = pytz.timezone('America/New_York')
myDateTime = datetime.datetime(year=2024, month=8, day=15, hour=17, minute=00, tzinfo=est)
print("America/New_York: ", myDateTime.isoformat())
print("UTC:              ", myDateTime.astimezone(pytz.utc).isoformat())

给出结果

America/New_York:  2024-08-15T17:00:00-04:56
UTC:               2024-08-15T21:56:00+00:00

目前纽约正处于夏令时。 因此,我预计 America/New_York 会显示

-04:00
的时间偏移,但它显示的是
-4:56
。 我想知道是否有人对此有解释。

python datetime timezone
1个回答
0
投票

尝试这样:

import datetime  
import pytz  

est = pytz.timezone('America/New_York')  


    naive_datetime = datetime.datetime(year=2024, month=8, day=15, hour=17, minute=0)  
    
    # Localize it to the Eastern timezone  
    myDateTime = est.localize(naive_datetime)  
    
    print("America/New_York: ", myDateTime.isoformat())  
    print("UTC:              ", myDateTime.astimezone(pytz.utc).isoformat())

当您使用 tzinfo 参数创建日期时间对象时,如下所示:

myDateTime = datetime.datetime(year=2024, month=8, day=15, hour=17, minute=0, tzinfo=est)
© www.soinside.com 2019 - 2024. All rights reserved.