Python中的时间函数strftime与strptime对比
strftime与strptime这两个函数,初看真是一脸懵逼,不是同一个么,对于小萌新来说,多少有点晕菜了,随时可能把两者混淆,导致程序报错或者出现小bug,查询了几个小时,到最后才发现竟然一个字母的差别.......顿时泪崩!!!
两个函数的区别
strftime:将给定格式的日期时间对象转换为字符串。日期时间对象=>字符串,控制输出格式
strptime:将字符串解析为给定格式的日期时间对象。字符串=>日期时间对象,解析字符串
strftime | strptime | |
用法 | 日期时间对象=>字符串,控制输出格式 | 字符串=>日期时间对象,解析字符串 |
类型 | 实例方法 | 类方法 |
方法 | date; datetime; time | datetime |
用法 | strftime(format) | strptime(date_string, format) |
示例 | datetime.datetime(2006,11,21,16,30) => '2006-11-21 16:30' | "21/11/06 16:30" => datetime.datetime(2006, 11, 21, 16, 30) |
strftime函数
作用:将给定格式的日期时间对象转换为字符串。日期时间对象=>字符串,控制日期时间对象的输出格式,date、datetime、time对象都支持strftime(format) 方法,可用来创建由一个显式格式字符串所控制的表示时间的字符串。要获取格式指令的完整列表,查看文末列表。
用法:datetime.strftime(format)
import datetime
dt=datetime.datetime(2006, 11, 21, 16, 30)
dt.strftime("%Y-%m-%d %H:%M")
'2006-11-21 16:30'
dt.strftime("%Y-%m-%d")
'2006-11-21'
dt.strftime("%A, %d. %B %Y %I:%M%p")
'Tuesday, 21. November 2006 04:30PM
strptime函数
作用:按照特定时间格式将字符串转换(解析)为时间类型。返回一个由显式格式字符串所指明的代表时间的字符串。要获取格式指令的完整列表,查看文末列表。
语法:datetime.strptime(date_string, format)
import datetime
dt=datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")
print(dt)
2006-11-21 16:30:00
dt
datetime.datetime(2006, 11, 21, 16, 30)
现在小伙伴们清楚了没有?strftime是转换为特定格式输出,而strptime是将一个(时间)字符串解析为时间的一个类型对象。一个是按照想要的格式,去转换。重点是格式!另外一个不管什么格式,我只要把特定的时间字符串转成时间类型即可!虽然只是一个字母之差,但是意义和侧重点完全不一样啊!
格式指令完整列表
y 两位数的年份表示(00-99)
Y 四位数的年份表示(000-9999)
m 月份(01-12)
d 月内中的一天(0-31)
H 24小时制小时数(0-23)
I 12小时制小时数(01-12)
M 分钟数(00=59)
S 秒(00-59)
a 本地简化星期名称
A 本地完整星期名称
b 本地简化的月份名称
B 本地完整的月份名称
c 本地相应的日期表示和时间表示
j 年内的一天(001-366)
p 本地A.M.或P.M.的等价符
U 一年中的星期数(00-53)星期天为星期的开始
w 星期(0-6),星期天为星期的开始
W 一年中的星期数(00-53)星期一为星期的开始
x 本地相应的日期表示
X 本地相应的时间表示
Z 当前时区的名称
% %号本身
更完整的说明阅读原文获取
··· END ··· 推荐阅读: 一、Number(数字) 全面掌握Python基础,这一篇就够了,建议收藏 Python基础之数字(Number)超级详解 Python随机模块22个函数详解 Python数学math模块55个函数详解 二、String(字符串) Python字符串的45个方法详解 Pandas向量化字符串操作 三、List(列表) 超级详解系列-Python列表全面解析 Python轻量级循环-列表推导式 四、Tuple(元组) Python的元组,没想象的那么简单 五、Set(集合) 全面理解Python集合,17个方法全解,看完就够了 六、Dictionary(字典) Python字典详解-超级完整版 七、内置函数 Python初学者必须吃透这69个内置函数! 八、正则模块 Python正则表达式入门到入魔 笔记 | 史上最全的正则表达式 八、系统操作 Python之shutil模块11个常用函数详解 Python之OS模块39个常用函数详解 九、进阶模块 【万字长文详解】Python库collections,让你击败99%的Pythoner 高手如何在Python中使用collections模块 ↓扫描关注本号↓