python语法-------strptime + strftime + timedelta 终极区分(一次看懂)
strptime strftime timedelta 终极区分一次看懂我把这三个最容易混淆的时间工具放在一起用最简单的话 一张表彻底讲清楚你马上就能分清一、一句话分清三者核心函数 / 类作用方向 / 类型口诀strptime把时间字符串→ 转成时间对象解析读p parsestrftime把时间对象→ 转成时间字符串格式化写f formattimedelta时间的加减法几天、几小时、几分钟时间运算delta 差值简单总结strptime / strftime管字符串 ↔ 时间对象互相转换timedelta管时间计算比如 3 天后、2 小时前二、详细用法带完整示例先统一导入fromdatetimeimportdatetime,timedelta# 用 datetime 模块更常用1. strptime字符串 → 时间对象解析用途你有一个文本时间要让电脑能看懂它。# 字符串时间time_str2025-12-25 15:30:00# 解析成 时间对象dtdatetime.strptime(time_str,%Y-%m-%d %H:%M:%S)print(dt)# 2025-12-25 15:30:002. strftime时间对象 → 字符串格式化用途把时间对象变成你想要的展示格式。# 时间对象dtdatetime.now()# 转成字符串resultdt.strftime(%Y年%m月%d日 %H:%M)print(result)# 2025年12月25日 15:303. timedelta时间加减计算用途只能用来算时间差不能单独表示时间支持天、小时、分钟、秒、毫秒# 当前时间nowdatetime.now()# 1. 加 3天after_3dnowtimedelta(days3)# 2. 减 2小时before_2hnow-timedelta(hours2)# 3. 组合1天2小时30分钟mixnowtimedelta(days1,hours2,minutes30)三、三者联动实战最常用场景需求有一个字符串时间2025-12-25 12:00:00算出它2 天后、3 小时前的时间再转成好看的中文格式输出fromdatetimeimportdatetime,timedelta# 1. strptime字符串 → 时间对象dtdatetime.strptime(2025-12-25 12:00:00,%Y-%m-%d %H:%M:%S)# 2. timedelta时间计算2天-3小时new_dtdttimedelta(days2,hours-3)# 3. strftime时间对象 → 新字符串resultnew_dt.strftime(%Y年%m月%d日 %H时%M分)print(result)# 输出2025年12月27日 09时00分四、终极记忆口诀strptime解析字符串 → 得时间对象输入用strftime格式化对象 → 得字符串输出用timedelta只做时间加减计算用总结转换用strptime/strftime计算用timedelta三者经常搭配使用是 Python 处理时间的标准三件套