在我的django项目的settings.py文件中,我有这样一行:
TIME_ZONE = 'UTC'
但我想让我的应用程序在UTC+2时区运行,所以我把它改成了
TIME_ZONE = 'UTC+2'
它给出错误ValueError:不正确的时区设置:UTC+2。正确的做法是什么?
谢谢!
在我的django项目的settings.py文件中,我有这样一行:
TIME_ZONE = 'UTC'
但我想让我的应用程序在UTC+2时区运行,所以我把它改成了
TIME_ZONE = 'UTC+2'
它给出错误ValueError:不正确的时区设置:UTC+2。正确的做法是什么?
谢谢!
当前回答
基于Django的TZ名称支持的通用解决方案:
UTC-2 = 'Etc/GMT+2'
UTC-1 = 'Etc/GMT+1'
UTC = 'Etc/GMT+0'
UTC+1 = 'Etc/GMT-1'
UTC+2 = 'Etc/GMT-2'
+/-被有意切换。
其他回答
基于Django的TZ名称支持的通用解决方案:
UTC-2 = 'Etc/GMT+2'
UTC-1 = 'Etc/GMT+1'
UTC = 'Etc/GMT+0'
UTC+1 = 'Etc/GMT-1'
UTC+2 = 'Etc/GMT-2'
+/-被有意切换。
要从tz数据库中获取所有有效的时区名称(id),你可以在Python中使用pytz模块:
>>> import pytz # $ pip install pytz
>>> pytz.all_timezones_set
LazySet({'Africa/Abidjan',
'Africa/Accra',
'Africa/Addis_Ababa',
'Africa/Algiers',
'Africa/Asmara',
'Africa/Asmera',
...
'UTC',
'Universal',
'W-SU',
'WET',
'Zulu'})
以下是有效的时区列表:
http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
你可以使用达卡的时区
TIME_ZONE = 'Asia/Dhaka'
UTC+06:00(达卡或阿斯塔纳)
添加Preferred TIME_ZONE并设置USE_TZ为False,如下所示
TIME_ZONE = '亚洲/加尔各答' USE_TZ = False
希望它能起作用。
我发现这个问题是想把我的Django项目的settings.py文件中的时区更改为英国。
使用jfs的解决方案中的tz数据库,我找到了答案:
TIME_ZONE = 'Europe/London'