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

sga*_*a62 5 python django datetime django-models django-timezone

知道tzinfo = "America/Los_Angeles"我想要保存到模型的日期时间实例(在哪里).

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

我最好奇的是这些约定是什么.提前致谢.

dge*_*gel 7

如果它是时区感知并且您已 USE_TZ设置为True在您的settings.pydjango中将在保存时自动将其转换为UTC.

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

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