在我的django项目的settings.py文件中,我有这样一行:

TIME_ZONE = 'UTC'

但我想让我的应用程序在UTC+2时区运行,所以我把它改成了

TIME_ZONE = 'UTC+2'

它给出错误ValueError:不正确的时区设置:UTC+2。正确的做法是什么?

谢谢!


当前回答

以下是有效的时区列表:

http://en.wikipedia.org/wiki/List_of_tz_database_time_zones

你可以使用

TIME_ZONE = 'Europe/Istanbul'

对于 UTC+02:00

其他回答

下载最新的pytz文件(pytz-2019.3.tar.gz): https://pypi.org/simple/pytz/ 复制并解压到项目的site_packages目录 在CMD中进入解压文件夹并运行: Python setup.py安装 TIME_ZONE = 'Etc/GMT+2'或国家名称

我发现这个问题是想把我的Django项目的settings.py文件中的时区更改为英国。

使用jfs的解决方案中的tz数据库,我找到了答案:

    TIME_ZONE = 'Europe/London'

以下是有效的时区列表:

http://en.wikipedia.org/wiki/List_of_tz_database_time_zones

你可以使用达卡的时区

TIME_ZONE = 'Asia/Dhaka'

UTC+06:00(达卡或阿斯塔纳)

这对我来说很好(我仍然在本地测试应用程序)。 在settings.py文件类型中:

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Beirut'

USE_I18N = True

USE_L10N = True

USE_TZ = False

#使用您自己的TIME_ZONE: https://gist.github.com/heyalexej/8bf688fd67d7199be4a1682b3eec7568

基于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'

+/-被有意切换。