From 2876f57ea4e0aad0cde42dd842550d9b977dd93f Mon Sep 17 00:00:00 2001 From: Wu Clan Date: Sat, 7 Mar 2026 14:23:10 +0800 Subject: [PATCH] Update utc zoneinfo to datetime timezone (#1099) --- backend/utils/timezone.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/utils/timezone.py b/backend/utils/timezone.py index 30fdbafa..8a387e1b 100644 --- a/backend/utils/timezone.py +++ b/backend/utils/timezone.py @@ -5,11 +5,17 @@ from datetime import timezone as datetime_timezone from backend.core.conf import settings +# 基于 wikipedia:https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List +_UTC_IDENTIFIERS = frozenset({'Etc/UCT', 'Etc/Universal', 'Etc/UTC', 'Etc/Zulu', 'UCT', 'Universal', 'UTC', 'Zulu'}) + class TimeZone: def __init__(self) -> None: """初始化时区转换器""" - self.tz_info = zoneinfo.ZoneInfo(settings.DATETIME_TIMEZONE) + if settings.DATETIME_TIMEZONE in _UTC_IDENTIFIERS: + self.tz_info = datetime_timezone.utc + else: + self.tz_info = zoneinfo.ZoneInfo(settings.DATETIME_TIMEZONE) def now(self) -> datetime: """获取当前时区时间"""