【问题标题】: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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2014-01-16
      • 2019-03-18
      • 1970-01-01
      • 2014-01-29
      相关资源
      最近更新 更多