如何在Python中獲取ISO 8601日期字串格式?


ISO 8601標準定義了一種國際通用的日期和時間表示格式。ISO 8601是一種日期和時間格式,有助於消除世界各地不同形式的日期、日期和時間約定。為了解決各種格式的不確定性,ISO設定了一種表示日期的格式“YYYY-MM-DD”。

例如,2022年5月31日表示為2022-05-31。

在這篇文章中,我們將討論如何在python中獲取ISO 8601日期字串格式。

使用 .isoformat() 方法

.isoformat() 方法返回python datetime.date 物件 的日期和時間值的ISO 8601格式字串。

語法

.isoformat() 方法的語法如下所示。

date.isoformat(sep=’T’,timespec=’auto’)

其中:

  • sep(可選引數) - 它是日期和時間欄位之間要列印的分隔符字元。

  • timespec(可選引數) - 它是timespec的格式說明符。預設值為auto。

在這個方法中,我們使用datetime.now()方法獲取當前的datetime字串,該方法以時間格式返回當前日期和時間。然後,使用.isoformat()方法將此字串轉換為ISO格式。

示例

在這個示例程式碼中,我們使用.isoformat()方法獲取ISO 8601日期字串格式。

from datetime import datetime current_date = datetime.now() print(current_date.isoformat())

輸出

以上程式碼的輸出如下所示。

2022-05-31T10:29:01.226141

使用 .strftime() 方法

python的datetime模組提供了strftime() 方法。在這裡,我們使用strftime()方法將datetime字串轉換為datetime。它還用於將datetime轉換為紀元時間。

紀元時間是時間的起點,並且取決於平臺。在Windows和大多數Unix系統上,紀元時間是1970年1月1日00:00:00(UTC),並且自紀元時間以來的秒數中不包含閏秒。我們使用time.gmtime(0)來獲取給定平臺上的紀元時間。

語法

strftime()的語法如下所示。

date.strftime(format)

其中,format用於指定所需的輸出格式。

在這個方法中,我們使用datetime.now()方法從本地CPU獲取當前日期和時間。此字串透過使用.strftime()方法轉換為ISO格式字串。由於我們知道ISO格式是YYYY-MM-DD,因此我們使用以下格式程式碼將其轉換為這種格式:“%Y-%m-%dT%H:%M:%S.%f%z”。

示例

以下是一個示例程式碼,用於使用.strftime()方法將日期轉換為ISO日期字串格式。

from datetime import datetime current_date = datetime.now() print(current_date.strftime('%Y-%m-%dT%H:%M:%S.%f%z'))

輸出

以上程式碼的輸出如下所示。

2022-09-05T10:35:08.217174

更新於: 2023年8月23日

58K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.