如何將 Python 日期字串轉換為日期物件?


在本文中,我們將日期字串轉換為日期物件。我們使用 strptime() 方法 將日期字串轉換為日期物件。

Strptime()

strptime() 方法將日期作為輸入並將其轉換為日期物件。請注意,您不能將任何字串轉換為日期時間物件。字串應採用特定的格式。

語法

本節顯示了 strptime() 方法的語法。

datetime.strptime(time_data, format_data)

其中,

time_date – 以字串格式表示的時間。

format_date – 使用此函式從 time_data 轉換而來的日期時間格式的資料(字串)。

一些重要的格式程式碼

格式程式碼 含義 示例
%a 縮寫的工作日名稱。 Mon, Tue,….
%A 完整的工作日名稱。 Monday, Tuesday,….
%w 工作日作為十進位制值。 0,1,2….
%d 月份中的日期,以零填充的十進位制表示。 01,02,…,30
%-d 月份中的日期,以十進位制表示。 1,2,…….,30
%b 縮寫月份名稱。 Jan,Feb,…
%B 完整月份名稱。 January, February,….
%m 月份,以零填充的十進位制表示。 01,02,03,……,12
%-m 月份,以十進位制表示。 1,2,3,…….,12.
%y 不含世紀的年份,以零填充的十進位制表示。 00,01,….
%Y 含世紀的年份,以十進位制表示。 2001,2002,….
%-y 不含世紀的年份,以十進位制表示。 0,1,2,3,…….
%H 小時(24 小時制),以零填充的十進位制表示。 01,02,…..,24
%-H 小時(24 小時制),以十進位制表示。 1,2,….,24.
%I 小時(12 小時制),以零填充的十進位制表示。 01,02,….,12
%-I 小時(12 小時制),以十進位制表示。 1,2,…,12.
%p AM 或 PM AM,PM.
%M 分鐘,以零填充的十進位制表示。 00,01,02,….,59
%-M 分鐘,以十進位制表示。 1,2,…..,59.
%S 秒,以零填充的十進位制表示。 01,02,….,59
%-S 秒,以十進位制表示。 1,2,…..,59.
%f 微秒,以十進位制表示,左側零填充 000000,000001,….999999
%j 一年中的日期,以零填充的十進位制表示。 001, 002, ..., 366

示例 1

在下面的示例中,我們使用 strptime 將字串日期轉換為日期時間物件。我們還提取了微秒、分鐘和秒。

from datetime import datetime time_data = "23/01/01 04:35:7.123" format_data = "%d/%m/%y %H:%M:%S.%f" date = datetime.strptime(time_data, format_data) print("Microsecond:",date.microsecond) print("Hour:",date.hour) print("Minute:",date.minute) print("Second:",date.second) print("The date is:",date)

輸出

接收到的輸出如下所示。

Microsecond: 123000
Hour: 4
Minute: 35
Second: 7
The date is: 2001-01-23 04:35:07.123000

示例 2

在第一個示例中匯入模組,並提供輸入 DateTime 字串。現在,我們使用 strptime() 方法獲取所需的格式,並使用 date()DateTime 中檢索日期。

import datetime date_str = '29122017' # The date - 29 Dec 2017 format_str = '%d%m%Y' # The format datetime_obj = datetime.datetime.strptime(date_str, format_str) print(datetime_obj.date())

輸出

生成的輸出如下所示。

2017-12-29

更新於: 2023-11-02

9K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.