我已经测试了一些时区配置,以更好地了解 django 时区的工作原理。
但仍然无法理解它是如何工作的。
有一些问题需要您的帮助
Q1。
from django.utils import timezone
from datetime import datetime
1. TIME_ZONE='UTC', USE_TZ=True
- datetime.now() => 2018-02-13 23:26:01.576493 // naive..
2. TIME_ZONE='Asia/Seoul', USE_TZ=True
- datetime.now() => 2018-02-13 23:26:01.576493 // tzinfo=<DstTzInfo 'Asia/Seoul' KST+9:00:00 STD>
=> 为什么'UTC'
返回naive
日期时间对象...?就像在 2 中一样,我认为它应该返回tzinfo=<UTC>
对象......
Q2。
from django.utils import timezone
from datetime import datetime
1. TIME_ZONE='Asia/Seoul', USE_TZ=True
- timezone.now() => 2018-02-13 23:25:32.768780 // tzinfo=<UTC> object
2. TIME_ZONE = 'Asia/Seoul', USE_TZ = False
- timezone.now() => 2018-02-14 08:24:04.810045 // naive
=>为什么在第一种情况下timezone.now()
返回tzinfo=<UTC> object
,即使我设置TIME_ZONE
为'Asia/Seoul'
?
Q3。
1. TIME_ZONE = 'Asia/Seoul', USE_TZ = False
- timezone.localtime() => ValueError: localtime() cannot be applied to a naive datetime
为什么即使我设置了它也会发生错误TIME_ZONE
?
USE_TZ
此外,即使在阅读 django 官方文档之后,也无法理解到底是什么(它的角色..等)。我认为官方文档就像,只有那些已经知道这些是什么的人才能轻松阅读.. T_T