为什么Django中unittest内部的时区与视图中的时区不同?
我正在使用TestCase.client测试我的视图。当我从测试用例中调用为什么Django中unittest内部的时区与视图中的时区不同?,django,django-settings,django-unittest,django-timezone,Django,Django Settings,Django Unittest,Django Timezone,我正在使用TestCase.client测试我的视图。当我从测试用例中调用timezone.now()时,我得到2015-11-17 07:48:26.826661+00:00,但当我调用 start = timezone.make_aware(datetime.strptime( date_text + ' ' + time, '%y/%m/%d %H:%M' )) 从视图中我得到2015-11-17 07:36:00+02:00 如何让他们使用
timezone.now()
时,我得到2015-11-17 07:48:26.826661+00:00,但当我调用
start = timezone.make_aware(datetime.strptime(
date_text + ' ' + time,
'%y/%m/%d %H:%M'
))
从视图中我得到2015-11-17 07:36:00+02:00
如何让他们使用相同的时区
我正在使用/manage.py test--settings=www.tests\u settings
和www/tests\u settings.py
运行,其中包含以下内容:
from .settings import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
}
}
USE_TZ = True
TIME_ZONE = 'Europe/Kiev'
>>> django.__version__
'1.8.4'
>>> pytz.__version__
'2015.7'
>>> sys.version
'3.4.3 (default, Mar 26 2015, 22:03:40) \n[GCC 4.9.2]'
哦,我明白了。以默认时区返回时间,以UTC返回-时间。要获取本地当前时间,我需要执行timezone.localtime(timezone.now())
但文档建议处理时间和时区,如文本和编码-将所有内容存储在UTC(unicode)中,并仅在接收或提供给用户时进行转换