refactor(utils/datetime): rewrite utc datetime formatting logic

明确 naive 时区 datetime 的处理逻辑,补充和数据库存储约定的注释,将原逻辑拆分为显式的 naive/aware 分支处理,保持原有功能不变
This commit is contained in:
Kris 2026-06-22 21:20:35 +08:00
parent 077de8e6d6
commit fa519d12b9

View File

@ -120,10 +120,15 @@ def format_utc_datetime(value: dt.datetime | None) -> str | None:
Format a datetime to UTC ISO 8601 string, handling naive datetimes.
Returns None for None input.
Naive datetimes are assumed to be in UTC.
Naive datetimes are assumed to be in UTC ( DB 存储约定一致所有 DateTime
列以 UTC naive 存储)aware datetimes 统一转换为 UTC
"""
if value is None:
return None
if value.tzinfo is None:
# naive datetime 视为 UTC直接附加 Z 后缀
return value.isoformat() + "Z"
# aware datetime 转换为 UTC
return utc_isoformat(value)