當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。