当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python datetime.datetime.isoformat用法及代码示例


用法:

datetime.isoformat(sep='T', timespec='auto')

返回一个以 ISO 8601 格式表示日期和时间的字符串:

如果 utcoffset() 不返回 None ,则附加一个字符串,给出 UTC 偏移量:

  • YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]] ,如果 microsecond 不为 0
  • YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]] ,如果 microsecond 为 0

例子:

>>> from datetime import datetime, timezone
>>> datetime(2019, 5, 18, 15, 17, 8, 132263).isoformat()
'2019-05-18T15:17:08.132263'
>>> datetime(2019, 5, 18, 15, 17, tzinfo=timezone.utc).isoformat()
'2019-05-18T15:17:00+00:00'

可选参数 sep (默认 'T' )是一个 one-character 分隔符,位于结果的日期和时间部分之间。例如:

>>> from datetime import tzinfo, timedelta, datetime
>>> class TZ(tzinfo):
...     """A time zone with an arbitrary, constant -06:39 offset."""
...     def utcoffset(self, dt):
...         return timedelta(hours=-6, minutes=-39)
...
>>> datetime(2002, 12, 25, tzinfo=TZ()).isoformat(' ')
'2002-12-25 00:00:00-06:39'
>>> datetime(2009, 11, 27, microsecond=100, tzinfo=TZ()).isoformat()
'2009-11-27T00:00:00.000100-06:39'

可选参数 timespec 指定要包含的时间附加组件的数量(默认为 'auto' )。它可以是以下之一:

  • 'auto' :如果 microsecond 为 0,则与 'seconds' 相同,否则与 'microseconds' 相同。
  • 'hours' :在两位数 HH 格式中包含 hour
  • 'minutes' :在HH:MM 格式中包含hourminute
  • 'seconds' :在 HH:MM:SS 格式中包含 hourminutesecond
  • 'milliseconds' :包括全时,但将小数秒部分截断为毫秒。 HH:MM:SS.sss 格式。
  • 'microseconds' :包括 HH:MM:SS.ffffff 格式的全职。

注意

排除的时间分量被截断,而不是四舍五入。

ValueError 将在无效的 timespec 参数上引发:

>>> from datetime import datetime
>>> datetime.now().isoformat(timespec='minutes')   
'2002-12-25T00:00'
>>> dt = datetime(2015, 1, 1, 12, 30, 59, 0)
>>> dt.isoformat(timespec='microseconds')
'2015-01-01T12:30:59.000000'

3.6 版中的新函数:添加了timespec争论。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 datetime.datetime.isoformat。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。