如何在 Django 中自定义数据库连接设置的时区?
How to customize database connection settings' timezone in django?
我正在研究 Django 数据库后端。我发现日期时间值的时区被 django 来回更改,同时将日期保存到数据库中以及检索它们。在此转换过程中,django 使用数据库连接的时区设置。
我看到默认情况下,对于 sqlite 数据库,'UTC'
是时区。我想在 Django 应用程序启动期间更改数据库连接选项。我该怎么做?
提前致谢。
来自Django官方文档:
When support for time zones is enabled, Django stores datetime information in UTC in the database, uses time-zone-aware datetime objects internally, and translates them to the end user’s time zone in templates and forms.
Time zone support is disabled by default.
因为如果默认禁用时区支持,您需要手动指定您希望 Django 支持它。您可以在 settings.py
中这样做:例如,如果您想要 UTC +1,则使用:
# enable time zone support
USE_TZ = True
# select a timezone
TIME_ZONE = 'Europe/Rome'
引用来自 Django 官方文档,您可以访问 here。我强烈建议阅读,他们的文档真的是 clear/useful.
此外,如果您需要其他时区,这里列出了您可以使用的所有可用时区 here, which I found from 。
我正在研究 Django 数据库后端。我发现日期时间值的时区被 django 来回更改,同时将日期保存到数据库中以及检索它们。在此转换过程中,django 使用数据库连接的时区设置。
我看到默认情况下,对于 sqlite 数据库,'UTC'
是时区。我想在 Django 应用程序启动期间更改数据库连接选项。我该怎么做?
提前致谢。
来自Django官方文档:
When support for time zones is enabled, Django stores datetime information in UTC in the database, uses time-zone-aware datetime objects internally, and translates them to the end user’s time zone in templates and forms.
Time zone support is disabled by default.
因为如果默认禁用时区支持,您需要手动指定您希望 Django 支持它。您可以在 settings.py
中这样做:例如,如果您想要 UTC +1,则使用:
# enable time zone support
USE_TZ = True
# select a timezone
TIME_ZONE = 'Europe/Rome'
引用来自 Django 官方文档,您可以访问 here。我强烈建议阅读,他们的文档真的是 clear/useful.
此外,如果您需要其他时区,这里列出了您可以使用的所有可用时区 here, which I found from