Python 为什么datetime.now()在django服务器内执行时显示无效结果?

Python 为什么datetime.now()在django服务器内执行时显示无效结果?,python,django,datetime,Python,Django,Datetime,案例1 案例2 >>> datetime.__file__ '/usr/lib/python2.6/lib-dynload/datetime.so' >>> print datetime.datetime.now() 2010-05-19 19:45:40.202634 -----------结果-------- 正如马克所指出的那样,日本的时区似乎有所不同: Development server is running at http://127.0.0.1

案例1

案例2

>>> datetime.__file__
'/usr/lib/python2.6/lib-dynload/datetime.so'
>>> print datetime.datetime.now()
2010-05-19 19:45:40.202634
-----------结果--------


正如马克所指出的那样,日本的时区似乎有所不同:

Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Validating models...
/usr/lib/python2.6/lib-dynload/datetime.so
-------------------------- 2010-05-19 09:16:43.987508
0 errors found

标准的
datetime
模块仅处理原始时间,您可以使用(特别是
dateutil.tz.tzlocal()
构造函数)添加时区支持。

正如Mark指出的,它看起来像是日本的时区差异:

Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Validating models...
/usr/lib/python2.6/lib-dynload/datetime.so
-------------------------- 2010-05-19 09:16:43.987508
0 errors found

标准的
datetime
模块仅处理原始时间,您可以使用(特别是
dateutil.tz.tzlocal()
构造函数)添加时区支持。。。我觉得不错。您能否编辑您的问题以解释此输出如何无法满足您的期望?是的,这似乎是由于时区差异造成的。但如何解决django服务器的问题?嗯。。。我觉得不错。您能否编辑您的问题以解释此输出如何无法满足您的期望?是的,这似乎是由于时区差异造成的。但如何解决django服务器的问题?您是对的,django在内部将tzinfo从设置中保留。时区,我设置为亚洲/加尔各答,效果很好!你说得对,django把tzinfo从设置中保留了下来。时区,我设置到了亚洲/加尔各答,效果很好!
>>> from dateutil import tz
>>> from datetime import datetime
>>> utc_time = datetime(2010, 5, 19, 9, 16, 43, tzinfo=tz.tzutc())
>>> jst_time = utc_time.astimezone(tz.gettz('Japan'))
>>> print utc_time
2010-05-19 09:16:43+00:00
>>> print jst_time
2010-05-19 18:16:43+09:00