2016-05-31 3 views
3

Вот мой код, который я использую, чтобы сообщить о часовом поясе datetime. Я попытался использовать рекомендованный подход из документов Django.Объект Django - 'datetime.date' не имеет атрибута 'tzinfo'

tradeDay = day.trade_date + timedelta(hours=6) 
td1 = pytz.timezone("Europe/London").localize(tradeDay, is_dst=None) 
tradeDay = td1.astimezone(pytz.utc) 

Получаем ошибку tz_info. Как я могу datetime атрибут tz_info?

USE_TZ = True в settings.py

ответ

4

Я думаю, вы, вероятно, решили эту проблему, но так как у вас не было никаких ответов я выложу один, так как я просто попал в то же самое.

Похоже, что day.trade_date - это объект, а не datetime.datetime, поэтому попытка локализации приведет к ошибке.

Попробуйте преобразовать day.trade_date в datetime.datetime. Затем вы можете добавить 6 часов и локализовать их.

tradeDate = datetime.combine(day.trade_date, datetime.min.time()) 
tradeDay = tradeDate + timedelta(hours=6) 
td1 = pytz.timezone("Europe/London").localize(tradeDay, is_dst=None) 
tradeDay = td1.astimezone(pytz.utc)