2026-10-23 17:12:30
Python 的 time 模块是处理时间相关功能的常用标准库,主要涉及时间戳、格式化时间字符串以及时间元组(struct_time)之间的转换。以下是其核心方法及功能总结:
一、核心方法详解1. 获取当前时间戳time.asctime(struct_time)将 struct_time 转换为固定格式的字符串(如 Fri Aug 28 16:23:17 2020)。示例:
time_str = time.asctime(time.localtime())print(time_str) # 输出当前时间的字符串形式time.ctime([timestamp])将时间戳转换为类似 asctime() 的字符串,默认使用当前时间戳。示例:
print(time.ctime(1598601684.2067122)) # 输出:Fri Aug 28 07:21:24 2020(UTC时间)time.strftime(format, struct_time)将 struct_time 格式化为自定义字符串,支持多种占位符(如 %Y 表示年份)。常用格式符:
%Y:四位年份(如 2020)
%m:两位月份(01-12)
%d:两位日期(01-31)
%H:%M:%S:24小时制时间(如 15:20:28)示例:
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())print(formatted_time) # 输出:2023-10-05 14:30:00time.strptime(string, format)将格式化字符串解析为 struct_time,是 strftime() 的逆操作。示例:
time_tuple = time.strptime("2020-08-28", "%Y-%m-%d")print(time_tuple.tm_year) # 输出:2020时间戳(Timestamp)从 1970-01-01 00:00:00 UTC 开始的秒数,用于跨平台时间计算,但需注意 2038年溢出问题(32位系统)。
UTC 与本地时间
UTC 是世界标准时间,中国为 UTC+8。
localtime() 返回本地时区时间,gmtime() 返回 UTC 时间。
struct_time 结构包含9个属性:tm_year、tm_mon(1-12)、tm_mday、tm_hour、tm_min、tm_sec、tm_wday(0-6,周日为0)、tm_yday(1-366)、tm_isdst(夏令时标志)。
通过灵活组合这些方法,可以高效处理大多数时间相关的编程需求。如需更复杂的功能(如时区转换),可进一步探索 datetime 或第三方库(如 pytz)。