给出的格式字符串是什么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__
日期时间的行为在偏移量中获得额外的冒号?我查看了格式选项 https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior并且只能分别找到 +HHMM 或名称的 %z 和 %Z。
我查看了实施datetime.__str__
但没有任何提示,它只是说pass
(?!)。我认为它最终委托给isoformat(' ')
但我不明白这是如何/在哪里实现的。
Datetime 是用 C 实现的。您会发现该函数tp_str
,由 Python 使用str
默认情况下,只调用isoformat()
.
进一步的datetime.strftime
方法调用libcstrftime
函数,它给出没有分隔符的时区差异,而datetime.isoformat
调用一个方法,该方法是直接为Python实现的,其中可以传递一个分隔符,在本例中是冒号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)