python中strptime()和strftime()的区别和用法

python中strptime()和strftime()的区别和用法

之前每次遇到时间格式转换都要去搜,今天决定自己记录一下这两个方法的区别和用法,也方便自己加深印象

1.strptime中的p代表parse,意为解析,也就是将一个字符串解析成时间格式,什么是时间格式,下图为例

import datetime
strdate = '2020年6月23日 12:12:08'
parsedate = datetime.datetime.strptime(strdate,'%Y年%m月%d日 %H:%M:%S')
print(type(parsedate))   #输出:<class 'datetime.datetime'>
print(parsedate)         #输出:2020-06-23 12:12:08
formatedate = datetime.datetime.strftime(parsedate,'%Y%m%d')
print(formatedate)		 #输出:20200623

从这可以看出给定一个字符串’2020年6月23日 12:12:08’,datetime.datetime.strptime()需要传入两个参数,第一个是需要解析的字符串,第二个是需要转换成的时间格式(注意!这里的时间格式必须和字符串一致,否则会报错),不能写成

strdate = '2020年6月23日 12:12:08'
parsedate = datetime.datetime.strptime(strdate,'%Y年%m月%d日 %H:%M')  #错误写法会报错

必须和需要解析的字符串格式完全一致。

2.strftime()和strptime()的用法可以说是相反的,strftime()中的 ‘f’ 意为 format表示格式化
就是将一个时间格式类型的数据格式化为一个字符串类型数据,上面代码中formatdate就是经过格式化之后的数据,将parserdate这个时间格式数据转化为字符串格式数据,(注意!这里同样需要传入两个参数,一个为需要格式化的时间格式对象parsedate,另外一个参数为你想要转化成的字符串格式,这里可以自定义。)
strftime()还有另外一个常用的地方

nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(nowtime)               #输出:2021-05-12 15:02:16
print(type(nowtime))         #输出:<class 'str'>

我们获取当前时间,可以看到datetime.datetime.now()返回的是一个时间格式数据,再使用strftime的时候只需传入一个参数即可,最后我们打印时间格式为str。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值