这是我用来使日期时间时区感知的代码。我尝试使用Django文档中推荐的方法。
tradeDay = day.trade_date + timedelta(hours=6)
td1 = pytz.timezone("Europe/London").localize(tradeDay, is_dst=None)
tradeDay = td1.astimezone(pytz.utc)
我收到tz_info错误。如何将时间定为tz_info属性?
USE_TZ = 在 settings.py 中为真
看起来
day.trade_date
实际上是一个datetime.date
对象而不是一个datetime.datetime
,因此尝试对其进行本地化会导致错误。
首先尝试使用 combine()
将day.trade_date
转换为datetime.datetime
。然后,您可以添加 6 小时并对其进行本地化。
# Convert to a datetime first
tradeDate = datetime.combine(day.trade_date, datetime.min.time())
# Now the date can be localized
tradeDay = tradeDate + timedelta(hours=6)
td1 = pytz.timezone("Europe/London").localize(tradeDay, is_dst=None)
tradeDay = td1.astimezone(pytz.utc)