strptime python_Python strptime()

Python strptime()

在本文中,您将学习如何从字符串创建datetime对象(在示例的帮助下)。

strptime()方法从给定的字符串创建datetime对象。

注意:您不能从每个字符串创建datetime对象。该字符串必须采用某种格式。

示例1:日期时间对象的字符串from datetime import datetime

date_string = "21 June, 2018"

print("date_string =", date_string)

print("date_string数据类型 =", type(date_string))

date_object = datetime.strptime(date_string, "%d %B, %Y")

print("date_object =", date_object)

print("date_object数据类型  =", type(date_object))

运行该程序时,输出为:date_string = 21 June, 2018

date_string 数据类型 = 

date_object = 2018-06-21 00:00:00

date_object 数据类型  = 

strptime()如何工作?

strptime()类方法有两个参数:字符串(将转换为日期时间)

格式代码

根据使用的字符串和格式代码,该方法返回其等效datetime对象。

在上面的示例中:

这里,%d-表示每月的一天。示例: 01,02,...,31

%B-月份的全名。例如:January, February等

%Y-年份以四位数表示。例如: 2018、2019等

示例2:日期时间对象的字符串from datetime import datetime

dt_string = "12/11/2019 09:15:32"

# 日期为dd / mm / yyyy格式

dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S")

print("dt_object1 =", dt_object1)

# 日期为mm / dd / yyyy格式

dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S")

print("dt_object2 =", dt_object2)

运行该程序时,输出为:dt_object1 = 2019-11-12 09:15:32

dt_object2 = 2019-12-11 09:15:32

格式代码清单

下表显示了您可以使用的所有格式代码。指令含义实例%a工作日名称的缩写。Sun, Mon, ...

%A工作日全名。Sunday, Monday, ...

%w工作日为十进制数字。0,1,...,6

%d月份中的一天,以零填充的十进制数表示。01,02,...,31

%-d以十进制数表示的月份中的一天。1,2,...,30

%b月份的缩写。Jan, Feb, ..., Dec

%B完整的月份名称。January, February, ...

%m月份为零填充的十进制数字。01、02,...,12

%-m以十进制数表示的月份。1,2,...,12

%y无世纪的年份,为零填充的十进制数字。00、01,...,99

%-y没有世纪的年份作为十进制数字。0,1,...,99

%Y以世纪作为十进制数字的年份。2013、2019等

%H小时(24小时制),为补零的十进制数字。00、01,...,23

%-H小时(24小时制)为十进制数字。0,1,...,23

%I小时(12小时制),为零填充的十进制数字。01、02,...,12

%-I小时(12小时制)为十进制数字。1 2 2

%p语言环境的上午或下午。AM,PM

%M分钟,为零填充的十进制数字。00、01,...,59

%-M以十进制数字表示。0,1,...,59

%S第二个为零填充的十进制数。00、01,...,59

%-S第二个十进制数字。0,1,...,59

%f微秒,十进制数,在左侧补零。000000-999999

%zUTC偏移量,格式为+ HHMM或-HHMM。

%Z时区名称。

%j一年中的一天,以零填充的十进制数字表示。001,002,...,366

%-j一年中的天,以十进制数字表示。1,2,...,366

%U一年中的第几周(星期日为一周的第一天)。在第一个星期日之前的新的一年中的所有天都被视为在第0周。00、01,...,53

%W一年中的第几周(星期一为一周中的第一天)。第一个星期一之前的新的一年中的所有天均视为在第0周。00、01,...,53

%c语言环境的适当日期和时间表示。Mon Sep 30 07:06:05 2013

%x语言环境的适当日期表示形式。13/9/30

%X语言环境的适当时间表示形式。07:06:05

%%文字“%”字符。%

strptime()中的ValueError

如果传递给的字符串(第一个参数)和格式代码(第二个参数)strptime()不匹配,则会得到ValueError。例如:from datetime import datetime

date_string = "12/11/2018"

date_object = datetime.strptime(date_string, "%d %m %Y")

print("date_object =", date_object)

如果您运行此程序,则会出现错误。ValueError: time data '12/11/2018' does not match format '%d %m %Y'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值