File tree Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -63,7 +63,9 @@ def python_type(self) -> type[datetime]:
6363
6464 def process_bind_param (self , value : datetime | None , dialect ) -> datetime | None :
6565 if value is not None :
66- if value .tzinfo != timezone .tz_info :
66+ # TODO这里没有考虑夏令时的问题,有些地区的夏令时会导致offset偏移改变
67+ # timezone.utcoffset 是首次加载初始化,在采用夏令时地区会有问题
68+ if value .utcoffset () != timezone .utcoffset :
6769 value = timezone .from_datetime (value )
6870 return value
6971
Original file line number Diff line number Diff line change @@ -12,6 +12,8 @@ class TimeZone:
1212 def __init__ (self ) -> None :
1313 """初始化时区转换器"""
1414 self .tz_info = zoneinfo .ZoneInfo (settings .DATETIME_TIMEZONE )
15+ # TODO 这里对实行夏令时地区会有问题,是否采用动态计算?
16+ self .utcoffset = datetime .now (tz = self .tz_info ).utcoffset ()
1517
1618 def now (self ) -> datetime :
1719 """获取当前时区时间"""
You can’t perform that action at this time.
0 commit comments