在settings.py
我有:
TIME_ZONE = 'Asia/Singapore'
USE_I18N = True
USE_L10N = True
USE_TZ = True
如果用户(居住在新加坡)2013-10-07 01:00 A.M.
在我的网站上输入表单,则存储在我的(PostgreSQL)数据库中的值为2013-10-07 01:00:00+08
. 当我在会话期间提取此信息时python manage.py shell
,我得到2013-10-06 17:00:00+00:00
. 当我尝试在模板中呈现此信息时也会发生同样的情况。
我认为正在发生的事情:Django 识别出用户在新加坡时间 10 月 10 日凌晨 1:00 输入,并将其存储在数据库中为2013-10-07 01:00:00+08
. 但是,当 Django 从数据库中检索此信息时,它会将其格式化为 UTC 时间,从而给出2013-10-06 17:00:00+00:00
.
我有这个权利吗?如果是这样,我该怎么做才能使用存储在数据库中的相同时区信息(或至少使用我的TIME_ZONE
设置)使 Django 显示时间?换句话说,我怎样才能让用户看到与她输入的格式完全相同的日期时间?