当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。