time和datetime
Python 中的 time 和 datetime 模块都用于处理时间和日期,但它们的适用场景不同:
time:主要用于 处理时间戳(timestamp),适用于 计算时间间隔 或 执行睡眠(sleep) 操作。datetime:用于 处理日期和时间,支持 格式化、运算、转换等。
1. time 模块(处理时间戳)
time 模块主要使用 时间戳(从 1970-01-01 00:00:00 UTC 以来的秒数)。
1.1 获取当前时间戳
import time
timestamp = time.time()
print(timestamp)  # 输出类似于:1707361200.123456
1.2 延迟执行(sleep)
print("开始...")
time.sleep(2)  # 休眠 2 秒
print("结束")
1.3 格式化时间(strftime)
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(time_str)  # 输出类似于:2025-02-08 14:30:00
1.4 解析时间字符串(strptime)
time_tuple = time.strptime("2025-02-08 14:30:00", "%Y-%m-%d %H:%M:%S")
print(time_tuple)  # 输出 time.struct_time 对象
1.5 获取当前 CPU 时间
print(time.process_time())  # 计算 CPU 运行的时间
2. datetime 模块(处理日期时间)
datetime 模块比 time 更加强大,支持日期运算、格式转换等。
2.1 获取当前日期和时间
from datetime import datetime
now = datetime.now()
print(now)  # 输出类似于:2025-02-08 14:30:00.123456
2.2 创建指定日期
dt = datetime(2024, 12, 25, 10, 30, 0)
print(dt)  # 2024-12-25 10:30:00
2.3 时间格式化
dt_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(dt_str)  # 2025-02-08 14:30:00
2.4 解析时间字符串
dt = datetime.strptime("2025-02-08 14:30:00", "%Y-%m-%d %H:%M:%S")
print(dt)  # datetime 对象
2.5 计算时间差(timedelta)
from datetime import timedelta
tomorrow = now + timedelta(days=1)
print(tomorrow)  # 明天的时间
one_hour_later = now + timedelta(hours=1)
print(one_hour_later)  # 一小时后的时间
2.6 转换为时间戳
timestamp = now.timestamp()
print(timestamp)  # 1707361200.123456
2.7 从时间戳转换回 datetime
dt = datetime.fromtimestamp(1707361200)
print(dt)  # 2025-02-08 14:30:00
3. time vs datetime 对比总结
| 功能 | time | 
datetime | 
|---|---|---|
| 获取当前时间 | time.time() | 
datetime.now() | 
| 获取时间戳 | time.time() | 
datetime.timestamp() | 
| 解析时间字符串 | time.strptime() | 
datetime.strptime() | 
| 格式化时间 | time.strftime() | 
datetime.strftime() | 
| 计算时间间隔 | time.sleep() | 
timedelta | 
| 获取可读时间 | time.localtime() | 
直接使用 datetime | 
| 支持日期运算 | ❌ | ✅ | 
总结:
- 处理时间戳 用 
time。 - 处理日期、时间运算 用 
datetime。 
如果你要处理时间计算、格式转换,推荐使用 datetime。你有什么具体需求吗?😊
                    
                
                
            
        
浙公网安备 33010602011771号