Python中的time模块
在Python中,import time 这一行代码的作用是导入名为 time 的标准库模块,这个模块提供了与时间相关的各种函数和工具,用于处理时间戳、时间延迟、时间格式转换等操作。
1、time 模块的常见用途和核心函数:
1.1 获取时间戳
timestamp = time.time()
print(timestamp) # 输出如:1717666785.123456
time.time() 返回当前时间的时间戳(以秒为单位的浮点数,表示从1970年1月1日UTC开始的秒数)。
1.2 时间延迟
time.sleep(seconds)
让程序暂停运行指定的秒数(支持小数,如 0.5 表示半秒)。
1.3 时间戳 → 结构化时间
struct_time = time.localtime() # 本地时间
struct_time_utc = time.gmtime() # UTC时间
返回一个命名元组(struct_time),包含年、月、日、时、分、秒等信息。
1.4 结构化时间 → 字符串
time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
将 struct_time 格式化为易读的字符串(如 “2023-10-01 12:30:45”)。
1.5 字符串 → 时间戳
struct_time = time.strptime("2023-10-01", "%Y-%m-%d")
timestamp = time.mktime(struct_time)
strptime 解析字符串为 struct_time,再通过 mktime 转换为时间戳。
1.6 简单时间字符串
time.ctime() # 返回 "Mon Oct 2 12:34:56 2023" 格式的字符串
2、实际应用场景
2.1 计算代码运行时间:
start = time.time()
# 运行一些代码...
end = time.time()
print(f"耗时:{end - start:.2f}秒")
time.perf_counter()
返回高精度的性能计时器(用于测量代码执行时间):
start = time.perf_counter()
# 执行某些操作...
end = time.perf_counter()
print(f"耗时:{end - start} 秒")
time.process_time()
返回当前进程的 CPU 时间(不包含睡眠时间)。
2.2 定时任务或倒计时:
print("开始")
time.sleep(3) # 暂停3秒
print("3秒后继续")
2.3 日志记录时间:
current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(f"[{current_time}] 程序启动")
3、注意事项
- 时间戳单位:Python的 time.time() 返回的是秒(浮点数),而其他语言/系统可能使用毫秒,需注意转换。
- 时区处理:time.localtime() 是本地时间,time.gmtime() 是UTC时间。
- 性能敏感场景:频繁调用 time.time() 可能影响性能。
如果需要更复杂的日期时间操作(如时区转换、日期加减),建议结合 datetime 模块使用。