这意味着它是时区幼稚的,所以您不能将其与 datetime.astimezone
你可以给它一个时区
import pytz # 3rd party: $ pip install pytz
u = datetime.utcNow()
u = u.replace(tzinfo=pytz.utc) #NOTE: it works only with a fixed utc offset
现在您可以更改时区
print(u.astimezone(pytz.timezone("America/New_York")))
要获取给定时区的当前时间,可以将tzinfodatetime.Now()
直接传递给:
#!/usr/bin/env python
from datetime import datetime
import pytz # $ pip install pytz
print(datetime.Now(pytz.timezone("America/New_York")))
它适用于任何时区,包括那些遵守夏时制(DST)的时区,即,它适用于在不同时间具有不同utc偏移量(非固定utc偏移量)的时区。请勿使用tz.localize(datetime.Now())
-如果当地时间不明确,则在DST结束过渡期间可能会失败。