Python 时间格式化与解析指南
在 Python 的 datetime 模块中,并没有名为 striptime 的方法,你可能想要寻找的是 strftime 或 strptime,这两个方法虽然名字相似,但功能正好相反。
strftime:将时间对象转换为字符串
strftime 的全称是 “string format time”,它的作用是将一个 datetime 对象 按照指定的格式转换成 字符串。
- 语法:
datetime_object.strftime(format) - 使用场景:当你需要把时间显示在界面上、写入日志文件或生成特定格式的文件名时使用。
代码示例:
from datetime import datetime
# 获取当前时间对象
now = datetime.now()
# 将时间格式化为:年-月-日 时:分:秒
formatted_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"时间对象: {now}")
print(f"格式化后的字符串: {formatted_str}")
strptime:将字符串转换为时间对象
strptime 的全称是 “string parse time”,它的作用是将一个 字符串 按照指定的格式解析成一个 datetime 对象。
- 语法:
datetime.strptime(date_string, format) - 使用场景:当你从用户输入、API 接口或 CSV 文件中读取到时间字符串,并需要对其进行时间计算(如加减天数)时使用。
代码示例:
from datetime import datetime
# 原始字符串
date_string = "2026-10-27 14:30:05"
# 将字符串解析为 datetime 对象
# 注意:格式字符串必须与原始字符串的格式完全匹配
dt_object = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(f"原始字符串: {date_string}")
print(f"解析后的对象: {dt_object}")
print(f"对象类型: {type(dt_object)}")
核心区别总结
| 方法 | 全称 | 输入类型 | 输出类型 | 记忆技巧 |
|---|---|---|---|---|
strftime |
string format time | datetime 对象 | 字符串 (str) | f 代表 format (格式化) |
strptime |
string parse time | 字符串 (str) | datetime 对象 | p 代表 parse (解析) |
常用格式化占位符对照表
在使用这两个方法时,你需要使用特定的占位符来匹配时间的不同部分:
-
日期相关:
%Y:四位数的年份(如 2026)%y:两位数的年份(如 23)%m:月份,范围 01-12%d:月份中的第几天,范围 01-31%B:月份的全称(如 October)%b:月份的缩写(如 Oct)
-
时间相关:
%H:24 小时制的小时,范围 00-23%I:12 小时制的小时,范围 01-12%M:分钟,范围 00-59%S:秒,范围 00-59%p:AM 或 PM
-
其他:
%A:星期的全称(如 Monday)%w:星期几,范围 0-6(0 代表星期日)
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/494542.html



