【问题标题】:Django - 'datetime.date' object has no attribute 'tzinfo'Django - 'datetime.date' 对象没有属性 'tzinfo'
【发布时间】:2016-09-29 06:04:01
【问题描述】:
这是我用来识别日期时间时区的代码。我尝试使用 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 中为真
【问题讨论】:
标签:
python-2.7
datetime
timezone
django-1.8
【解决方案1】:
看起来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)