Какую строку формата нужно указать для strftime
, которая даст тот же результат, что и для isoformat(' ')
?
>>> from datetime import datetime
>>> import pytz
>>> dt = datetime.now(tz=pytz.UTC).replace(microsecond=0)
>>> print dt
2014-05-29 13:11:00+00:00
>>> dt.isoformat(' ')
'2014-05-29 13:11:00+00:00'
>>> dt.strftime('%Y-%m-%d %H:%M:%S%z')
'2014-05-29 13:11:00+0000'
Откуда __str__
поведение datetime получает это дополнительное двоеточие в смещении? Я просмотрел параметры форматирования и смог только найдите %z и %Z для +ЧЧММ или имени соответственно.
Я посмотрел на реализацию datetime.__str__
, но не нашел подсказок, там просто написано pass
(?!). Я думаю, что в конечном итоге он делегирует isoformat(' ')
, но я не понимаю, как/где это реализовано.