【发布时间】:2023-04-02 15:45:02
【问题描述】:
我需要 ISO 8601 中没有任何微秒的日期时间字符串。
喜欢:
2015-01-05T11:26:00-03:00
我用:
from pytz import timezone
from datetime import datetime
timezone(settings.TIME_ZONE).localize(datetime.now()).isoformat()
但它会返回:
'2015-01-28T17:49:39.711725-03:00'
如何解决?
【问题讨论】:
-
要获取当前的本地化时间,请使用
datetime.now(timezone(settings.TIME_ZONE))。不要使用.localize(naive_local_time)——本地时间可能不明确,例如在夏令时结束转换期间。now(timezone(settings.TIME_ZONE))始终有效,因为它在内部使用fromutc(),而.localize()可能会在本地时间不明确或不存在时返回错误结果。
标签: python django pytz rfc3339