相信有部分小伙伴在调用时间对象处理数据表格,会经常遇到这两个函数吧?
对于老程序员来说,自然不在话下,但是对于小萌新来说,多少就有点晕菜了。而且随时把两者混淆,导致程序报错或者出现小bug。结果查询了几个小时,到最后才发现竟然一个字母的差别.......顿时泪崩!!!
strftime
strftime是一种计算机函数,根据区域设置格式化本地时间/日期,函数的功能:将时间格式化!!!,或者说格式化一个时间字符串。
这是出自百度百科的解释。说白了就是按照一定格式把时间显示成所需要的效果。
下面是一段示例代码:辅助理解
# 添加当天开始时间字符串到当前日期中
current_date = [] #代表一个容器,即装时间对象的一个小盒子#
current_date.append(begin_date.strftime("%Y-%m-%d"))
就是把自己所需要的时间按照年/月/日或者时/分/秒等你想要的格式。他在很多编程语言当中都用到。
strptime
strptime(),功能:按照特定时间格式将字符串转换(解析)为时间类型。
下面还是一段示例代码来辅助理解:
#将日期字符串转成日期对象
start_date = datetime.strptime(start_str,'%Y-%m-%d')
简而言之,就是将一段给定的日期或时间字符串转换成一个对象输出。这个函数多见于一些python函数库里面底层封装了一个函数。方便直接调用。
如下示例代码,就是datetime内部封装好的一段可以供直接调用的方法:
@classmethod
def strptime(cls, date_string, format):
'string, format -> new datetime parsed from a string (like time.strptime()).'
import _strptime
return _strptime._strptime_datetime(cls, date_string, format)
现在小伙伴们清楚了没有?strftime是转换为特定格式输出,而strptime是将一个(时间)字符串解析为时间的一个类型对象。一个是按照想要的格式,去转换。重点是格式!另外一个不管什么格式,我只要把特定的时间字符串转成时间类型即可!虽然只是一个字母之差,但是意义和侧重点完全不一样啊!