python复习--time与datetime

发布时间:2026/7/30 0:21:28

python复习--time与datetime 一、time 与 datetime 是什么模块定位time底层、过程式、偏机器datetime高层、面向对象、偏人类只是设计时代 使用场景不同二、time 模块本质C 时代遗留接口过程式 API函数 数据结构面向“时间戳”这一底层概念评价优点非常稳定兼容几十年缺点使用步骤割裂可读性一般importtime time.strftime(%Y-%m-%d_%H:%M:%S -- ,time.localtime())实际执行流程当前时间戳 ↓ time.localtime() → 把当前时间戳转成 struct_time ↓ time.strftime() → 再把 struct_time 格式化成字符串三、datetime本质面向对象的时间 API把“时间”当成一个完整对象更贴近人类对时间的理解评价优点一步到位API 连贯易读性强工程友好fromdatetimeimportdatetime datetime.now().strftime(%Y-%m-%d_%H:%M:%S -- )datetime.now() → 得到 datetime 对象 .strftime(...)→ 直接让对象格式化自己四、为什么工程里更推荐 datetime重点1.表达力更强最重要对比旧写法time 模块time.strftime(fmt,time.localtime())# 你需要脑补逻辑“先 localtime再 strftime”新写法datetimedatetime.now().strftime(fmt)# 代码自己就在说现在 → 格式化2. datetime 是“统一时间模型”datetime 支持日期 时间时区naive / aware时间加减时间比较序列化项目一长时间一定会被拿去算fromdatetimeimportdatetime startdatetime.now()# ... 执行任务elapseddatetime.now()-start3. 避免 time / datetime 混用的割裂感常见反例importdatetime start_timedatetime.datetime.now()# 却又用 timetime.strftime(...)同一个文件两套时间体系工程建议一个模块里尽量统一使用 datetime五、那 time 模块是不是就不用了结论不是1. time 依然非常重要的场景importtime time.sleep(1)# 延时time.time()# 时间戳秒time底层时间戳sleep老接口但非常稳定2. datetime 更适合这些fromdatetimeimportdatetime,timedelta nowdatetime.now()# 可读时间futurenowtimedelta(seconds5)# 时间计算datetime可读时间时间计算工程推荐面向对象

相关新闻