Python 3 – time strptime() 方法

Python 3 – time strptime() 方法

介绍

Python 3 标准库中的 time 模块提供了 strptime() 方法,可以将字符串转换为时间类型。该方法将字符串和格式化描述符作为输入,按照给定的格式返回一个时间元组。

时间元组 (struct_time) 包含了 year, month, day, hour, minute, second, weekday, 和 Julian day 等。元组的函数是 time() 和 gmtime(),可以用来获取当前时间或 UTC 时间。

语法

time.strptime(string[, format])

参数:

  • string — 待转换为时间类型的字符串。
  • format — 数据字符串格式。

返回值:

返回 struct_time 时间元组。

示例

下面的示例展示了如何使用 strptime() 方法来将字符串转换为时间元组:

import time

pt = time.strptime("21 Oct 2021", "%d %b %Y")
print("time tuple:", pt)

输出:

time tuple: time.struct_time(tm_year=2021, tm_mon=10, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=294, tm_isdst=-1)

如上例所示,将字符串 “21 Oct 2021” 和格式描述符 “%d %b %Y” 作为参数传入 strptime() 方法。输出结果为一个时间元组,其中包含了年、月、日等时间信息。

下面是一些常用的时间格式描述符,用于将字符串转换为时间元组:

格式化描述符 说明
%Y 年份
%m 月份
%d 一个月的第几天
%H 24 小时制的小时数
%M 分钟数
%S 秒数
%a 星期几(缩写)
%A 星期几(全拼)
%b 月份(缩写)
%B 月份(全拼)
%c 日期时间的字符串表示(如:06/01/01 17:22:21)
%p am 或 pm

下面的示例将一个时间字符串按指定格式解析为时间元组:

import time

fmt = "%Y-%m-%d %H:%M:%S"
t_str = "2021-10-21 15:23:10"
pt = time.strptime(t_str, fmt)

print("time tuple:", pt)

输出:

time tuple: time.struct_time(tm_year=2021, tm_mon=10, tm_mday=21, tm_hour=15, tm_min=23, tm_sec=10, tm_wday=3, tm_yday=294, tm_isdst=-1)

错误处理

如果输入的字符串和数据格式不匹配,会抛出 ValueError 异常。下面的示例展示了一个错误的格式化字符串:

import time

try:
    # 尝试解析错误的时间格式字符串
    pt = time.strptime("2021-10-21 15:23:10", "%Y/%m/%d %H:%M:%S")
except ValueError:
    print("Error: invalid format")

输出:

Error: invalid format

结论

strptime() 方法十分实用,可以将字符串按照指定格式转换为时间元组,为我们在 Python 中操作时间提供了方便。在使用该方法时需要注意输入的字符串和格式描述符是否匹配,否则会抛出异常。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程