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


Python datetime isoformat()用法及代碼示例


Python datetime.isoformat() 方法

datetime.isoformat() 方法用於操作模塊 datetime 的 datetime 類的對象。

它使用一個 datetime 類對象並返回一個表示 ISO 8601 格式的日期和時間的字符串:

  • YYYY-MM-DDTHH:MM:SS.ffffff, 如果微秒不為 0
  • YYYY-MM-DDTHH:MM:SS, 如果微秒為 0

如果 datetime 是一個感知對象,則添加一個字符串,它告訴 UTC 偏移量:

  • YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]], 如果微秒不為 0
  • YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]], 如果微秒為 0

日期和時間表示的國際標準是 ISO 8601。它旨在提供一種沒有任何歧義的日期和時間表示格式。

模塊:

    import datetime

類:

    from datetime import datetime

用法:

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

參數:

  • sep: 是一個 one-character 分隔符,放置在結果的日期和時間部分之間。默認值為T
  • timespec: 是要包含的時間的附加組件的數量。它的默認值為auto.如果微秒為 0,則與 'seconds' 相同,否則為微秒。

這兩個參數都是可選的。

返回值:

此方法的返回類型是日期和時間的 ISO 8601 格式的字符串。

例:

## importing datetime class
from datetime import datetime
import pytz

## Naive object isoformat() example

x = datetime.today()
print("Normal format:",x)
d = x.isoformat()
print("ISO 8601 format:", d)
print("ISO 8601 format without separator 'T':", x.isoformat(sep=' '))
print()

## Microsecond is not 0 here
x = datetime(2020, 10, 1, 12, 12, 12, 3400)
print("ISO 8601 format:", x.isoformat())
print("ISO format without separator 'T':", x.isoformat(sep=' '))
print()

## Microsecond is 0 here
x = datetime(200,10,12,1,1,1)
print("Date 200/10/12 1:1:1 in ISO 8601 format:", x.isoformat())
print()

## Aware object isoformat example

##Microsecond is 0 here
x = datetime(2020,10,4)
timezone = pytz.timezone("Asia/Tokyo")
x = x.astimezone(timezone)##Adding tzinfo
print("ISO 8601 format for an aware object:", x.isoformat())

## Microsecond is not 0 here
x = datetime(2020,10,4,1,1,1,333)
timezone = pytz.timezone("Asia/Tokyo")
x = x.astimezone(timezone)##Adding tzinfo
print("ISO 8601 format for an aware object:", x.isoformat())

輸出

Normal format:2020-05-01 22:52:37.596841
ISO 8601 format:2020-05-01T22:52:37.596841
ISO 8601 format without separator 'T':2020-05-01 22:52:37.596841

ISO 8601 format:2020-10-01T12:12:12.003400
ISO format without separator 'T':2020-10-01 12:12:12.003400

Date 200/10/12 1:1:1 in ISO 8601 format:0200-10-12T01:01:01

ISO 8601 format for an aware object:2020-10-04T09:00:00+09:00
ISO 8601 format for an aware object:2020-10-04T10:01:01.000333+09:00


相關用法


注:本文由純淨天空篩選整理自 Python datetime isoformat() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。