strftime与strptime之间用法与区别

                            相信有部分小伙伴在调用时间对象处理数据表格,会经常遇到这两个函数吧?

           对于老程序员来说,自然不在话下,但是对于小萌新来说,多少就有点晕菜了。而且随时把两者混淆,导致程序报错或者出现小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是将一个(时间)字符串解析为时间的一个类型对象。一个是按照想要的格式,去转换。重点是格式!另外一个不管什么格式,我只要把特定的时间字符串转成时间类型即可!虽然只是一个字母之差,但是意义和侧重点完全不一样啊!

你可能感兴趣的:(python,datetime,编程爱好,flask,python)