Python - strptime() 函数

2025年1月5日 | 阅读 4 分钟

strptime 的意思是 string parse time(字符串解析时间),这个函数是 datetime 模块的一部分,用于根据指定的格式解析表示时间的字符串。

使用函数的语法

  • date_string: 包含日期和时间信息的字符串。
  • Format: 指定 date_string 结构的格式字符串。

基本用法

示例 1

下面是 strptime() 函数与日期一起使用的基本用法

程序

输出

2022-01-18 00:00:00

说明

在这里,我们指定了日期,然后将字符串格式化为 datetime 对象。

示例 2

这是一个使用 strptime 格式化日期和时间的示例

程序

输出

2022-01-18 15:30:45

说明

该字符串使用 strptime() 方法进行解析,对于日期和时间组件,格式字符串均为 "%Y-%m-%d %H:%M:%S"。

示例 3

示例程序通过将时间转换为 24 小时制来处理 AM/PM 信息。

程序

输出

2022-01-18 15:30:45

说明

此示例演示了如何解析带有 AM/PM 信息的字符串。格式字符串 "%Y-%m-%d %I:%M:%S %p" 匹配输入字符串的结构。

示例 4

输出

2024-01-18 12:30:00
2023-02-20 08:45:00

说明

  • %a 用于解析缩写的星期几名称(例如,星期五的“Fri”)。
  • %A 用于解析完整的星期几名称(例如,“Monday”)。

字符串转换为 datetime 对象

这是一个简单的示例,用于演示 strptime() 函数的工作原理

程序

输出

2024-01-18 12:30:45
<class 'datetime.datetime'>

说明

我们使用 strptime() 函数将字符串日期转换为原始 datetime 对象,并指定了特定的格式。

考虑日期格式的各种情况

示例

让我们来看一个程序,考虑处理各种日期字符串格式的代码。

程序

输出

2024-01-18 00:00:00
2024-01-18 00:00:00
2024-01-18 00:00:00
2024-01-18 12:30:00
2024-01-18 12:30:00

指令

  • %Y: 带世纪的年份,以十进制数字表示(例如,2024)。
  • %y: 不带世纪的年份,以零填充的十进制数字表示(00 到 99)。请注意,世纪由平台的枢轴年份确定。
  • %m: 月份,以零填充的十进制数字表示(01 到 12)。
  • %d: 月份中的日期,以零填充的十进制数字表示(01 到 31)。
  • %H: 小时(00 到 23)。
  • %I: 小时(01 到 12)。
  • %M: 分钟(00 到 59)。
  • %S: 秒(00 到 59)。
  • %A: 星期几的全称(例如,Monday)。
  • %a: 星期几的缩写名称(例如,Mon)。
  • %B: 月份的全称(例如,January)。
  • %b 或 %h: 月份的缩写名称(例如,Jan)。
  • %p: AM 或 PM。
  • %Z: 时区名称。
  • %j: 一年中的第几天,以零填充的十进制数字表示(001 到 366)。
  • %U: 一年中的周数(星期日作为一周的第一天),以零填充的十进制数字表示(00 到 53)。
  • %W: 一年中的周数(星期一作为一周的第一天),以零填充的十进制数字表示(00 到 53)。
  • %c: 本地适用的日期和时间表示。
  • %x: 本地适用的日期表示。
  • %X: 本地适用的时间表示。
  • %%: 字面意义上的 '%' 字符。

结论

总之,strptime() 是将日期和时间字符串转换为 Python 中 datetime 对象的一个强大方法。它通过格式字符串提供了灵活性,允许您解析各种日期和时间表示。