ISO 8601 + TimeZone 中的 DateTime,没有微秒

DateTime in ISO 8601 + TimeZone and without microseconds

我需要 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()

但是 returns:

'2015-01-28T17:49:39.711725-03:00'

如何解决?

设置microsecond为0:

t = timezone(settings.TIME_ZONE).localize(datetime.now()).replace(microsecond=0)
t.isoformat()

datetime.datetime.replace(...) 将 return 一个修改了指定属性的新 datetime 对象。