【问题标题】:How do I get dates to display using my settings TIME_ZONE如何使用我的设置 TIME_ZONE 显示日期
【发布时间】:2019-09-01 08:03:00
【问题描述】:

我正在使用 Django 和 Python 3.7。我的设置文件中有以下设置...

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'America/Chicago'

USE_I18N = True

USE_L10N = True

USE_TZ = True

我希望使用上面的默认时区显示所有日期。但是,当我打印出像

这样的字段时
self.created_on.ctime()

其中“created_on”映射到 PostGres DATETIME 字段,使用 UTC 时区打印日期。如何使用我拥有的时区显示它?

【问题讨论】:

    标签: django python-3.x datetime timezone format


    【解决方案1】:

    TIME_ZONE 是一个会话参数。了解更多herehere

    from datetime import datetime
    from pytz import timezone
    self.created_on.astimezone(timezone('America/Chicago'))
    

    【讨论】:

      【解决方案2】:

      看起来你可以使用django.utils.timezone.localtime

      from django.utils.timezone import localtime
      
      localtime(self.created_on).ctime()
      

      【讨论】:

      • 语法实际上是 localtime(self.created_on).ctime() 但这确实是。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      • 2017-12-06
      相关资源
      最近更新 更多