输入:
import pytz
from datetime import datetime as dt
targettz = pytz.timezone('America/New_York')
d1 = dt(2024, 1, 1, 7, 40, 0, tzinfo=targettz)
d1.isoformat()
输出:
'2024-01-01T07:40:00-04:56'
为什么
'-04:56'
而不是'-04:00'
?
正如 @MT0 所提到的,使用
zoneinfo
可以正常工作:
>>> dt(2024, 1, 1, 7, 40, 0, tzinfo=pytz.timezone('America/New_York')).isoformat()
'2024-01-01T07:40:00-04:56'
>>> dt(2024, 1, 1, 7, 40, 0, tzinfo=zoneinfo.ZoneInfo('America/New_York')).isoformat()
'2024-01-01T07:40:00-05:00'
>>> dt(2024, 10, 10, 7, 40, 0, tzinfo=zoneinfo.ZoneInfo('America/New_York')).isoformat()
'2024-10-10T07:40:00-04:00'
一月份,纽约州采用冬季时间,即 UTC-5,因此偏移量是正确的。如果您想查看
-04:00
偏移量,请将日期更改为遵守 DST 的日期,例如 10 月 10 日。