为什么即使Django设置配置不同,我仍然得到UTC时区

mkh04yzy  于 2023-04-13  发布在  Go
关注(0)|答案(3)|浏览(184)

我不确定为什么日期时间响应总是滞后一个小时(UTC)
Django设置配置

LANGUAGE_CODE = "en-us"
TIME_ZONE = "Africa/Lagos"
USE_I18N = True
USE_L10N = True
USE_TZ = True
DATE_FORMAT = "F j, Y"
SITE_ID = 1
from django.utils import timezone
timezone.now()

response:
datetime.datetime(2022, 7, 23, 13, 58, 6, 739601, tzinfo=<UTC>)

您可以看到时区信息是UTC

tuwxkamq

tuwxkamq1#

尝试:1.download最新的pytz文件(pytz-2019.3.tar.gz)从https://pypi.org/simple/pytz/
2.将其复制并解压缩到项目的site_packages目录中
3.in cmd转到exracted文件夹并运行“pythonsetup.pyinstall”
4.TIME_ZONE = 'Etc/GMT+3'或国家名称

w8f9ii69

w8f9ii692#

需要这样做:

LANGUAGE_CODE = "en-us"
TIME_ZONE = "Africa/Lagos"
USE_I18N = True
USE_L10N = False
USE_TZ = False
pgvzfuti

pgvzfuti3#

Source

now()

返回一个表示当前时间点的datetime。具体返回什么取决于USE_TZ的值:
如果USE_TZ为False,这将是一个简单的datetime(即没有关联时区的日期时间),表示系统本地时区的当前时间。
如果USE_TZ为True,这将是一个已知的datetime,表示当前的UTC时间。请注意,now()将始终返回UTC时间,而不管TIME_ZONE的值如何;可以使用localtime()来获取当前时区的时间。

相关问题