Python py strptime:将字符串转换为日期时间

一、概述:strptime和strftime函数

Python中的strptime函数和strftime函数具有极大的相似性,都是用来进行格式化输出和时间字符串转换。strptime是用来将时间字符串解析成时间格式的函数,而strftime则是用来将时间格式格式化为时间字符串的函数。strptime和strftime函数都依赖于格式化指令。

strptime 函数接收两个参数:一个是字符串形式的日期时间,另一个是日期时间的格式。

strftime函数接收两个参数:一个是日期时间的格式,另一个是时间元组。

二、strptime函数详解

strptime函数可以将时间格式的字符串解析成时间元组。时间元组是由以下9个元素组成的:

struct_time(tm_year=2021, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=-1)

其中,tm_year代表年份,从1900开始,所以如果要表示2021年,则tm_year的值为121。tm_mon代表月份,从1开始,范围为1~12。tm_mday代表日期,从1开始,范围为1~31。tm_hour代表小时,从0开始,范围为0~23。tm_min代表分钟,从0开始,范围为0~59。tm_sec代表秒数,从0开始,范围为0~61(60和61是闰秒)。tm_wday代表星期几,从0开始,范围为0~6,0为星期一,6为星期日。tm_yday代表一年中的第几天,从1开始,范围为1~366。tm_isdst代表是否为夏令时,-1代表不确定,0代表不是,1代表是。

下面是一个示例代码:

from datetime import datetime
date_time_str = '2022-05-08 10:00:00'
date_time_obj = datetime.strptime(date_time_str, '%Y-%m-%d %H:%M:%S')
print('日期时间对象:', date_time_obj)

以上代码的输出结果为:

日期时间对象:2022-05-08 10:00:00

strptime中常用的格式化指令如下:

格式化指令说明
%a星期几的本地简写
%A星期几的本地完整名称
%b月份的本地简写
%B月份的本地完整名称
%c本地日期和时间表示
%d一个月中的日期(01~31)
%H24小时制的小时数(00~23)
%I12小时制的小时数(01~12)
%j一年中的第几天(001~366)
%m月份(01~12)
%M分钟数(00~59)
%pAM或PM
%S秒数(00~61)
%U一年中的星期数(00~53),星期天是一个星期的起始
%w一个星期中的第几天(0~6,0为星期天)
%W一年中的星期数(00~53),星期一是一个星期的起始
%x本地相应的日期表示
%X本地相应的时间表示
%y年份的最后两位数(00~99)
%Y年份的完整表示,4位数
%z与UTC偏移的整小时数(+HHMM或-HHMM)
%Z时区的名称(为空白字符,或者美国标准缩写)
%%百分号

三、strftime函数详解

strftime函数可以将时间元组格式化为时间字符串。下面是一个示例代码:

from datetime import datetime
now = datetime.now()
time_string = now.strftime("%Y-%m-%d %H:%M:%S")
print(time_string)

以上代码的输出结果为:

2022-05-08 18:30:00

常用的格式化指令与strptime函数中一致,此处不再赘述。

四、应用场景

strptime函数和strftime函数是处理时间的重要方法,应用场景非常广泛。比如,在实际开发中,用户输入的数据往往是字符串格式的,而程序需要的是时间格式,这时就需要将字符串格式的数据使用strptime函数转换为时间格式;又比如在数据分析过程中,我们需要对时间进行聚合和分组,而时间类型不方便进行直接的操作,这时就需要将时间格式使用strftime函数转换为字符串格式。

五、总结

Python中的strptime和strftime函数是处理时间的常用方法,可以实现字符串与时间格式的相互转换。strptime函数将时间字符串解析成时间元组,而strftime函数将时间元组解析成时间字符串。在实际开发中应用广泛,是程序员处理时间的重要工具。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/150989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-11-10 01:11
下一篇 2024-11-10 01:11

相关推荐

发表回复

登录后才能评论