这是我用来识别日期时间时区的代码。我尝试使用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属性的日期时间?
在settings.py
中USE_TZ = True
答案 0 :(得分:10)
看起来day.trade_date
实际上是datetime.date
对象而不是datetime.datetime
,因此尝试本地化会导致错误。
首先尝试使用day.trade_date
将datetime.datetime
转换为combine()
。然后,您可以添加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)