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  ···


往期精彩回顾



适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑温州大学《机器学习课程》视频
本站qq群851320808,加入微信群请扫码:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐