为什么需要处理时间?
在 Python 编程中,时间处理是常见需求:记录日志、定时任务、数据时间戳、用户时区转换等都离不开对时间的操作。Python 提供了多个内置模块帮助我们高效处理时间。
常用时间模块
time:底层时间函数,常用于性能计时和时间戳操作。datetime:面向对象的时间处理,功能强大且易用。calendar:生成日历、判断闰年等。
time 模块示例
# 获取当前时间戳(秒)
import time
timestamp = time.time()
print("当前时间戳:", timestamp)
# 格式化为可读时间
local_time = time.localtime(timestamp)
readable = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("可读时间:", readable)
当前时间戳: 1704585600.123456
可读时间: 2024-01-07 10:00:00
可读时间: 2024-01-07 10:00:00
datetime 模块示例
from datetime import datetime, timedelta
# 当前时间
now = datetime.now()
print("当前时间:", now)
# 时间加减
future = now + timedelta(days=7)
print("一周后:", future)
# 字符串转时间
date_str = "2023-12-25"
dt = datetime.strptime(date_str, "%Y-%m-%d")
print("解析后:", dt)
当前时间: 2024-01-07 10:00:00.123456
一周后: 2024-01-14 10:00:00.123456
解析后: 2023-12-25 00:00:00
一周后: 2024-01-14 10:00:00.123456
解析后: 2023-12-25 00:00:00
实用技巧
- 使用
%Y-%m-%d %H:%M:%S标准格式避免歧义。 - 处理用户输入时间时,务必用
strptime验证格式。 - 跨时区场景建议使用
pytz或 Python 3.9+ 的zoneinfo。
实时演示(本地时间)
点击按钮获取当前 Python 风格的时间字符串: