Python time strptime函数详解
更新时间:2023-10-21什么是time .strptime()函数?
在Python中,time模块是用来处理日期和时间的标准库之一。time模块提供了strptime()函数,用于把字符串解析为时间对象。strptime()函数通过定义格式化字符串,将字符串解析为日期时间对象。这个函数与strftime()函数相反,strftime()函数是把日期时间对象转换为字符串。
example: import time date_str = "2022-01-01" date_obj = time.strptime(date_str, "%Y-%m-%d") print(date_obj)
执行以上代码,输出的结果类似于:
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=1, tm_isdst=-1)
strptime()函数的参数
strptime()函数有两个参数:字符串和格式化字符串。其中,字符串是要被解析的日期字符串;格式化字符串是定义日期字符串中日期和时间的格式。
以下是时间格式的一些常见字符:
- %Y : 四位数的年份(例如1990,2005)
- %m : 两位数的月份(01~12)
- %d : 两位数的日期(01~31)
- %H : 24小时制的小时数(00~23)
- %M : 两位数的分钟数(00~59)
- %S : 两位数的秒数(00~59)
在格式化字符串中,可以使用各种字符、符号和分隔符,例如横杠 (-)、正斜杠 (/)、冒号 (:)、空格等等。下面是一个使用格式化字符串解析时间字符串的示例:
example: import time date_str = "2001-01-01 12:00:00" date_obj = time.strptime(date_str, "%Y-%m-%d %H:%M:%S") print(date_obj)
输出的日期时间对象的格式类似于:
time.struct_time(tm_year=2001, tm_mon=1, tm_mday=1, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1)
一个更复杂的日期格式化字符串解析示例
下面的示例展示了一个更复杂的日期格式化字符串的解析过程,这个格式化字符串包含了以下信息:
- 日期,使用下划线分隔
- 时区信息和缩写
- 时间,使用冒号分隔
example: import time date_str = "1999_12_31_23:59:59_EST" date_obj = time.strptime(date_str, "%Y_%m_%d_%H:%M:%S_%Z") print(date_obj)
输出的结果类似于:
time.struct_time(tm_year=1999, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=59, tm_sec=59, tm_wday=4, tm_yday=365, tm_isdst=-1)
结论
在Python中,strptime()函数是处理日期和时间的重要工具之一。通过使用不同的格式字符串,可以解析各种日期格式的字符串,并将它们转换为一种可操作的日期时间格式。strptime()函数也可以用于创建日期区间对象,例如当你想计算两个日期之间的天数或月数时。