• Python日期字符串比较


    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处

    需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些基础的日期格式化知识如下

    '''
    %a星期的简写。如 星期三为Web
    %A星期的全写。如 星期三为Wednesday
    %b月份的简写。如4月份为Apr
    %B月份的全写。如4月份为April
    %c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)
    %d: 日在这个月中的天数(是这个月的第几天)
    %f: 微秒(范围[0,999999])
    %H: 小时(24小时制,[0, 23])
    %I: 小时(12小时制,[0, 11])
    %j: 日在年中的天数 [001,366](是当年的第几天)
    %m: 月份([01,12])
    %M: 分钟([00,59])
    %p: AM或者PM
    %S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
    %U: 周在当年的周数当年的第几周),星期天作为周的第一天
    %w: 今天在这周的天数,范围为[0, 6],6表示星期天
    %W: 周在当年的周数(是当年的第几周),星期一作为周的第一天
    %x: 日期字符串(如:04/07/10)
    %X: 时间字符串(如:10:43:39)
    %y: 2个数字表示的年份
    %Y: 4个数字表示的年份
    %z: 与utc时间的间隔 (如果是本地时间,返回空字符串)
    %Z: 时区名称(如果是本地时间,返回空字符串)
    %%: %% => %
    '''

    然后需要了解python中time,datetime,字符串时间之间的转换关系,如下代码是三者之间的转换关系

    jsontime = '2017-04-03'
    #string->time
    time.strptime(jsontime,"%Y-%m-%d")
    #string->datetime
    datetime.datetime.strptime(jsontime,"%Y-%m-%d")
    #time->string
    time.strftime("%y-%m-%d",time.localtime())

    那么有了转换关系以后,比较大小就很容易了,比如我可以把日期字符串转换成time的时间戳来比较大小,如下

    import time
    def compare_time(time1,time2):
        s_time = time.mktime(time.strptime(time1,'%Y-%m-%d'))
        e_time = time.mktime(time.strptime(time2,'%Y-%m-%d'))
        print 's_time is:',s_time
        print 'e_time is:',e_time
        return int(s_time) - int(e_time)
    
    result = compare_time('2017-04-17','2017-04-19')
    print 'the compare result is:',result

    当然也可以利用datetime来比较字符串的大小

    import datetime
    d1 = datetime.datetime.strptime('2015-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
    d2 = datetime.datetime.strptime('2015-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
    delta = d1 - d2
    print delta.days
  • 相关阅读:
    这些年,产品经理们折腾过的原型工具
    这些年,产品经理们折腾过的原型工具
    这些年,产品经理们折腾过的原型工具
    区块链与微服务天生是一对
    区块链与微服务天生是一对
    区块链与微服务天生是一对
    区块链与微服务天生是一对
    OpenCV和Matlab
    OpenCV和Matlab
    现在最暴利的行业是什么?
  • 原文地址:https://www.cnblogs.com/cssdongl/p/6729120.html
Copyright © 2020-2023  润新知