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


Python Datetime strptime方法用法及代碼示例


Python 的 datetime.strptime() 方法將給定字符串轉換為 datetime 對象。 strptime() 被讀取為字符串解析時間。

參數

1. date_string | string

要轉換為datetime對象的字符串。

2. format | format code

提供的字符串的格式。請參閱以下鏈接以獲取有效格式代碼的列表。

返回值

datetime 對象。

例子

日期字符串到日期時間對象

要將日期字符串 "19 March, 2020" 轉換為日期時間對象:

from datetime import datetime
date_string = "19 March, 2020"
date_object = datetime.strptime(date_string, "%d %B, %Y")
print(date_object)



2020-03-19 00:00:00

日期和時間字符串到日期時間對象

要將日期和時間字符串 "Jan 1 2020 3:50PM" 轉換為日期時間對象:

from datetime import datetime
datetime_string = 'Jan 1 2020  3:50PM'
datetime_object = datetime.strptime(datetime_string, '%b %d %Y %I:%M%p')
print(datetime_object)



2020-01-01 15:50:00

ValueError

如果 date_string(第一個參數)和傳遞給 strptime()format(第二個參數)不匹配,則會引發 ValueError

from datetime import datetime
datetime_object = datetime.strptime('Jan 1 2020  3:50PM', "%d %m %Y")
print(date_object)



ValueError: time data 'Jan 1 2020  3:50PM' does not match format '%d %m %Y'

格式應正確提供為 '%b %d %Y %I:%M%p'

格式代碼列表

下表提供了用於表達日期格式的各種指令的信息:

指示

意義

示例

%a

工作日作為區域設置的縮寫名稱。

周日、周一、…、周六 (en_US);

所以,Mo,…,Sa (de_DE)

%A

工作日作為區域設置的全名。

周日、周一、……、周六(en_US);

桑塔格、蒙塔格、……、薩姆斯塔格 (de_DE)

%w

十進製數形式的工作日,其中 0 表示星期日,6 表示星期六。

0, 1, …, 6

%d

以零填充的十進製數表示的月份中的某一天。

01, 02, …, 31

%b

月份作為區域設置的縮寫名稱。

一月、二月、...、十二月 (en_US);

一月、二月、…、Dez (de_DE)

%B

月份作為區域設置的全名。

一月、二月、……、十二月(en_US);

一月、二月、…、十二月 (de_DE)

%m

以零填充的十進製數表示的月份。

01, 02, …, 12

%y

不帶世紀的年份作為補零十進製數。

00, 01, …, 99

%Y

帶有世紀的年份作為十進製數。

0001, 0002, …, 2013, 2014, …, 9998, 9999

%H

小時(24 小時製),以零填充的十進製數。

00, 01, …, 23

%I

小時(12 小時製),以零填充的十進製數。

01, 02, …, 12

%p

區域設置相當於 AM 或 PM。

上午、下午 (en_US);上午、下午 (de_DE)

%M

分鍾作為補零十進製數。

00, 01, …, 59

%S

第二個是補零的十進製數。

00, 01, …, 59

%f

微秒為十進製數,左側補零。

000000, 000001, …, 999999

%z

格式為 ±HHMM[SS[.ffffff]] 的 UTC 偏移量(如果對象是簡單的,則為空字符串)。

(空)、+0000、-0400、+1030、+063415、-030712.345216

%Z

時區名稱(如果對象是幼稚的,則為空字符串)。

(空)、UTC、EST、CST

%j

一年中的第幾天,以零填充的十進製數表示。

001, 002, …, 366

%U

一年中的周數(星期日為一周的第一天),采用零填充的十進製數。新年第一個星期日之前的所有日子都被視為第 0 周。

00, 01, …, 53

%W

一年中的周數(星期一為一周的第一天),采用十進製數。新年第一個星期一之前的所有日子都被視為第 0 周。

00, 01, …, 53

%c

語言環境的適當日期和時間表示。

1988 年 8 月 16 日星期二 21:30:00 (en_US);1988 年 8 月 16 日星期二 21:30:00 (de_DE)

%x

語言環境的適當日期表示。

08/16/88(無);08/16/1988 (en_US);16.08.1988 (de_DE)

%X

語言環境的適當時間表示。

21:30:00 (en_US);21:30:00 (de_DE)

%%

文字 '%' 字符。

%

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Python Datetime | strptime method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。