您的位置:

Python strptime详解

一、什么是Python strptime?

Python strptime函数是Python time模块中提供的时间解析函数。它的作用是将字符串转换为datetime对象。

strptime()函数的语法如下:

time.strptime(string[, format])
  • string:需要解析的字符串
  • format:解析字符串的格式。

二、为什么要用Python strptime?

在实际开发中,我们通常需要将字符串形式的时间转换为datetime对象,以便进行时间的比较、计算等操作。Python strptime函数正是为此而生。

我们可以通过strptime()函数将格式化好的字符串解析成datetime对象,再利用它们进行时间运算。

三、Python strptime函数的常用格式化参数

Python strptime函数提供了多种格式化参数,以解析不同格式的时间字符串,提高我们的时间解析效率。

  1. %Y: 4位数年份
  2. %m: 2位数月份(01~12)
  3. %B: 月份的名称,例如January或February
  4. %b: 月份的缩写名称,例如Jan或Feb
  5. %d: 2位数日期(01~31)
  6. %j: 年度内的天数
  7. %w: 星期几的数字形式(0~6),其中星期天为0
  8. %A: 星期几的名称
  9. %a: 星期几的缩写名称
  10. %H: 小时(0~23)
  11. %M: 分钟
  12. %S: 秒数
  13. %f: 微秒
  14. %z: 与UTC时间的偏移量
  15. %Z: 时区名称

四、实例演示

下面通过一些简单的实例演示Python strptime函数的用法:

示例1:将字符串转换为datetime对象

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)

示例2:将日期字符串转换为时间戳

import time

date_str = "2022-01-01"
date_obj = time.strptime(date_str, "%Y-%m-%d")
timestamp = int(time.mktime(date_obj))
print(timestamp)

输出结果如下:

1640966400

示例3:解析更复杂的时间格式

import time

date_str = "2022-01-01T01:02:03.456789+08:00"
date_obj = time.strptime(date_str, "%Y-%m-%dT%H:%M:%S.%f%z")
print(date_obj)

输出结果如下:

time.struct_time(tm_year=2022, tm_mon=1, tm_mday=1, tm_hour=1, tm_min=2, tm_sec=3, tm_wday=5, tm_yday=1, tm_isdst=-1)

五、总结

通过以上的示例,我们可以看到Python strptime函数可以方便地将字符串转化为datetime对象,为我们的开发带来很大的便利。它不仅仅支持简单的日期格式,还可以支持各种复杂的时间格式。当我们需要对时间进行处理时,strptime()函数是一个很好用的工具。