数码知识屋
霓虹主题四 · 更硬核的阅读氛围

Python time库函数用法详解:轻松掌握时间处理技巧

发布时间:2025-12-17 12:11:45 阅读:279 次

time的基本作用

在日常开发中,处理时间是再常见不过的需求。比如记录日志的时间戳、计算程序运行耗时、定时执行任务等,这时候Python内置的time库就能派上用场。它不像datetime那样功能复杂,但足够轻量,适合大多数基础场景。

获取当前时间戳

时间戳是从1970年1月1日00:00:00 UTC开始经过的秒数,也叫Unix时间。调用time.time()就能拿到当前的时间戳。

import time

start = time.time()
print(start)  # 输出类似 1712345678.901234

这个值常用于性能测试。比如你想知道一段代码跑了多久,可以在开头和结尾各记一次时间,相减就是耗时。

让程序暂停一下

有时候需要让程序等几秒再继续,比如模拟网络请求间隔、控制爬虫频率。time.sleep()就是干这个的。

print("开始")
time.sleep(3)
print("3秒后才出现这句话")

sleep接受浮点数,想停0.5秒也可以。

格式化时间输出

直接打印时间戳对用户不友好,通常要转成可读格式。time.localtime()把时间戳转为本地时间结构,再用time.strftime()格式化。

t = time.localtime()
formatted = time.strftime("%Y-%m-%d %H:%M:%S", t)
print(formatted)  # 输出如 2025-04-05 14:30:22

常用格式符:%Y四位年,%m月,%d日,%H时,%M分,%S秒。如果你写个脚本每天生成日志文件,可以用这个命名,比如log_2025-04-05.txt。

解析字符串时间

反过来,如果拿到一个时间字符串,比如"2025-04-05 10:20:30",想转成时间戳处理,可以用time.strptime()。

time_str = "2025-04-05 10:20:30"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
timestamp = time.mktime(time_struct)
print(timestamp)

这在处理用户输入或配置文件里的日期时特别有用。

获取更精确的运行时间

time.time()受系统时钟影响,不适合测短时间间隔。Python提供了更高精度的计时方式,比如time.perf_counter()。

start = time.perf_counter()
# 做一些事
end = time.perf_counter()
print(f"耗时 {end - start} 秒")

这个函数专为性能测量设计,返回值更稳定,适合用来优化代码。

UTC时间与本地时间转换

服务器日志通常用UTC时间避免时区混乱。time.gmtime()可以把时间戳转为UTC结构体。

timestamp = time.time()
utc_time = time.gmtime(timestamp)
local_time = time.localtime(timestamp)

print("UTC:", time.strftime("%Y-%m-%d %H:%M:%S", utc_time))
print("本地:", time.strftime("%Y-%m-%d %H:%M:%S", local_time))

跨国服务中,统一用UTC存储时间,显示时再转成本地时间,是个好习惯。