c语言编程笔录

首页 >   > 笔记大全

笔记大全

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()函数也可以用于创建日期区间对象,例如当你想计算两个日期之间的天数或月数时。