如何在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-08-23

58K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

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