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'
。
格式代码列表
下表提供了用于表达日期格式的各种指令的信息:
指示 |
意义 |
示例 |
---|---|---|
|
工作日作为区域设置的缩写名称。 |
周日、周一、…、周六 (en_US); 所以,Mo,…,Sa (de_DE) |
|
工作日作为区域设置的全名。 |
周日、周一、……、周六(en_US); 桑塔格、蒙塔格、……、萨姆斯塔格 (de_DE) |
|
十进制数形式的工作日,其中 0 表示星期日,6 表示星期六。 |
0, 1, …, 6 |
|
以零填充的十进制数表示的月份中的某一天。 |
01, 02, …, 31 |
|
月份作为区域设置的缩写名称。 |
一月、二月、...、十二月 (en_US); 一月、二月、…、Dez (de_DE) |
|
月份作为区域设置的全名。 |
一月、二月、……、十二月(en_US); 一月、二月、…、十二月 (de_DE) |
|
以零填充的十进制数表示的月份。 |
01, 02, …, 12 |
|
不带世纪的年份作为补零十进制数。 |
00, 01, …, 99 |
|
带有世纪的年份作为十进制数。 |
0001, 0002, …, 2013, 2014, …, 9998, 9999 |
|
小时(24 小时制),以零填充的十进制数。 |
00, 01, …, 23 |
|
小时(12 小时制),以零填充的十进制数。 |
01, 02, …, 12 |
|
区域设置相当于 AM 或 PM。 |
上午、下午 (en_US);上午、下午 (de_DE) |
|
分钟作为补零十进制数。 |
00, 01, …, 59 |
|
第二个是补零的十进制数。 |
00, 01, …, 59 |
|
微秒为十进制数,左侧补零。 |
000000, 000001, …, 999999 |
|
格式为 ±HHMM[SS[.ffffff]] 的 UTC 偏移量(如果对象是简单的,则为空字符串)。 |
(空)、+0000、-0400、+1030、+063415、-030712.345216 |
|
时区名称(如果对象是幼稚的,则为空字符串)。 |
(空)、UTC、EST、CST |
|
一年中的第几天,以零填充的十进制数表示。 |
001, 002, …, 366 |
|
一年中的周数(星期日为一周的第一天),采用零填充的十进制数。新年第一个星期日之前的所有日子都被视为第 0 周。 |
00, 01, …, 53 |
|
一年中的周数(星期一为一周的第一天),采用十进制数。新年第一个星期一之前的所有日子都被视为第 0 周。 |
00, 01, …, 53 |
|
语言环境的适当日期和时间表示。 |
1988 年 8 月 16 日星期二 21:30:00 (en_US);1988 年 8 月 16 日星期二 21:30:00 (de_DE) |
|
语言环境的适当日期表示。 |
08/16/88(无);08/16/1988 (en_US);16.08.1988 (de_DE) |
|
语言环境的适当时间表示。 |
21:30:00 (en_US);21:30:00 (de_DE) |
|
文字 '%' 字符。 |
% |
相关用法
- Python Datetime strftime方法用法及代码示例
- Python Datetime today方法用法及代码示例
- Python Datetime utcnow方法用法及代码示例
- Python Datetime fromisoformat方法用法及代码示例
- Python Datetime Date构造函数用法及代码示例
- Python Datetime Time构造函数用法及代码示例
- Python Datetime Timedelta构造函数用法及代码示例
- Python Datetime utcfromtimestamp方法用法及代码示例
- Python Datetime now方法用法及代码示例
- Python Datetime fromtimestamp方法用法及代码示例
- Python Datetime Datetime构造函数用法及代码示例
- Python Datetime.replace()用法及代码示例
- Python Pandas DatetimeIndex构造函数用法及代码示例
- Python Django DateDetailView用法及代码示例
- Python DateTime转integer用法及代码示例
- Python DateTime astimezone()用法及代码示例
- Python Django DateTimeField.input_formats用法及代码示例
- Python DateTime weekday()用法及代码示例
- Python Pandas DataFrame empty属性用法及代码示例
- Python Pandas DataFrame pop方法用法及代码示例
- Python Pandas DataFrame nsmallest方法用法及代码示例
- Python Django DataSource用法及代码示例
- Python Pandas DataFrame sample方法用法及代码示例
- Python Pandas DataFrame items方法用法及代码示例
- Python Pandas DataFrame max方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Python Datetime | strptime method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。