strptime将字符串解析为datetime对象,strftime则将其格式化为字符串,二者互为逆操作,需保持格式代码一致。

Python 中 strptime 是将时间字符串解析为 datetime 对象的过程。它的“逆变换”是指将 datetime 对象重新格式化为字符串,这个操作使用的是 strftime 方法。
strptime 与 strftime 的对应关系
strptime:string parse time,把字符串转成 datetime 对象。
from datetime import datetimedt = datetime.strptime("2024-05-20 13:30:45", "%Y-%m-%d %H:%M:%S")
strftime:string format time,把 datetime 对象转回字符串。
time_str = dt.strftime("%Y-%m-%d %H:%M:%S")print(time_str) # 输出: 2024-05-20 13:30:45
常用格式化代码对照
确保你在 strftime 中使用的格式字符串与 strptime 一致,才能正确还原:
立即学习“Python免费学习笔记(深入)”;
- %Y:四位年份(如 2024)
- %m:两位月份(01-12)
- %d:两位日期(01-31)
- %H:小时(00-23)
- %M:分钟(00-59)
- %S:秒(00-59)
示例:完整逆变换流程
from datetime import datetime# 原始时间字符串
time_str = "2024-05-20 13:30:45"
# strptime: 字符串 → datetime
dt = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
# strftime: datetime → 字符串(逆变换)
reversed_str = dt.strftime("%Y-%m-%d %H:%M:%S")
print(reversed_str) # 输出: 2024-05-20 13:30:45
基本上就这些。只要记住:strptime 是解析,strftime 是格式化输出,两者互为反向操作。不复杂但容易忽略大小写和格式匹配。











