3

我有一个应用程序,它在 settings.py 中使用“亚洲/台北”作为其时区,并在 models.py 的日期时间字段之一上使用 auto_now=true:

--- settings.py ---
TIME_ZONE = 'Asia/Taipei'
--- models.py ---
models.DateTimeField(auto_now=True)

在我的系统上,台北也被用作我的时区: 在此处输入图像描述

在 MySQL Workbench 上,我已经查询了全局和会话 tz,它们的返回是“SYSTEM”: 在此处输入图像描述

我的问题是当一个条目添加到数据库时,系统和 settings.py 上指定的时区没有被使用。请参阅示例快照: 在此处输入图像描述

我缺少什么?做错了吗?提前致谢!

4

2 回答 2

6

通常情况下,数据库将默认存储 UTC 时间,相应的应用程序将根据设置/配置进行转换。

在您的情况下,这取决于您的USE_TZ设置。

当 USE_TZ 为 False 时,这是 Django 将存储所有日期时间的时区。当 USE_TZ 为 True 时,这是 Django 用于在模板中显示日期时间并解释在表单中输入的日期时间的默认时区。

更多详情,您可以参考

于 2013-02-19T11:02:53.843 回答
4

它现在正在工作。我只是设置USE_TZ = False

于 2013-02-19T11:02:00.837 回答