refactor(utils/datetime): rewrite utc datetime formatting logic
明确 naive 时区 datetime 的处理逻辑,补充和数据库存储约定的注释,将原逻辑拆分为显式的 naive/aware 分支处理,保持原有功能不变
This commit is contained in:
parent
077de8e6d6
commit
fa519d12b9
@ -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)
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user