Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django时区转换_Python_Django_Django Templates_Pytz_Django Timezone - Fatal编程技术网

Python Django时区转换

Python Django时区转换,python,django,django-templates,pytz,django-timezone,Python,Django,Django Templates,Pytz,Django Timezone,我在日志和显示器上看到了一些奇怪的行为。我想不出来 在settings.py中: TIME_ZONE = 'America/Chicago' USE_TZ = True 在views.py中: local_timezone = pytz.timezone("America/Chicago") blast = Blast.objects.get(id=blast_id) blast_time = local_timezone.normalize(blast.date.astimezone(loc

我在日志和显示器上看到了一些奇怪的行为。我想不出来

在settings.py中:

TIME_ZONE = 'America/Chicago'
USE_TZ = True
在views.py中:

local_timezone = pytz.timezone("America/Chicago")
blast = Blast.objects.get(id=blast_id)
blast_time = local_timezone.normalize(blast.date.astimezone(local_timezone))

print local_timezone
print blast.date
print blast_time
输出:

>>America/Chicago
>>2013-09-27 16:00:00+00:00
>>2013-09-27 11:00:00-05:00
一切似乎都很好

然后在模板中:

{{ blast.date|date:'D, d M  h:i A e' }} {{ blast.date.tzinfo }}
({{ blast_time }} {{ blast_time.tzinfo }})
呈现为:

FRI, 27 SEP 11:00 AM CDT UTC
(SEPT. 27, 2013, 11 A.M. AMERICA/CHICAGO)
FRI, 27 SEP 12:00 PM EDT UTC
(SEPT. 27, 2013, NOON AMERICA/CHICAGO)
请注意,第一行声明了两个不同的时区,原因我无法理解

将settings.py中的默认时区更改为“America/New_York”(但将视图保留为America/Chicago)将导致:

>>2013-09-27 16:00:00+00:00
>>2013-09-27 11:00:00-05:00
并呈现为:

FRI, 27 SEP 11:00 AM CDT UTC
(SEPT. 27, 2013, 11 A.M. AMERICA/CHICAGO)
FRI, 27 SEP 12:00 PM EDT UTC
(SEPT. 27, 2013, NOON AMERICA/CHICAGO)
为什么渲染的
|date:'e'
.tzinfo
的值不同?此外,为什么转换为不同时区的
爆炸时间显示的是同一小时