Django - 'datetime.date'对象没有属性'tzinfo'

时间:2016-05-31 09:37:17

标签: python-2.7 datetime timezone django-1.8

这是我用来识别日期时间时区的代码。我尝试使用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

1 个答案:

答案 0 :(得分:10)

看起来day.trade_date实际上是datetime.date对象而不是datetime.datetime,因此尝试本地化会导致错误。

首先尝试使用day.trade_datedatetime.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)