python - Django:在发布到模型之前,我应该将感知日期时间实例转换为 UTC 吗?

标签 python django datetime django-models django-timezone

我有知道 日期时间实例(其中 tzinfo = "America/Los_Angeles"),我想将其保存到模型中。

我应该在保存之前以某种方式将它转换为 UTC 吗?还是我可以按原样保存它,因为它知道自己的时区?我是否需要稍后使用 activate() 将其转换为用户的时区,或者 Django 会为我,既然实例知道了?

我很好奇这方面的惯例是什么。提前致谢。

最佳答案

如果它是时区感知的并且你有 USE_TZ在您的 settings.py 中设置为 True 保存时,django 会自动将其转换为 UTC。

当您稍后从数据库中检索它时,它会识别时区但设置为 UTC:django 不会保存它以前的时区。

当您在模板中显示日期时间时,它将被转换为 TIME_ZONE 设置的时区在你的 settings.py 中,除非你使用 django 的 timezone utilities激活不同的时区。

关于python - Django:在发布到模型之前,我应该将感知日期时间实例转换为 UTC 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22184370/

相关文章:

django - ValueError : Related model u'app. 模型'无法解析

mysql - 从 MySQL 迁移到 PostgreSQL 时 Django 用户应该知道什么?

python - 如何在django 2.0中使用路径功能设置索引页?

java - 当 java 代码以 UTC 执行时,如何在 ET 中存储一个带有偏移量的日期

asp.net-mvc - 使用数据注释进行日期时间(日期和时间)验证

Python:对于每次迭代,系统状态都会发生变化

python - 如何减少 DataFrame 中的行数,聚合给定列中的相同值?

python - 在 PySpark 中将 Unix 时间戳转换为 ms 时间戳

c# - 如何使用夏令时查找时区和返回时间?

python - 如何使 kafka-python 或 pykafka 与 uwsgi 和 gevent 一起作为异步生产者工作?