美文网首页
用datetime计算时间差

用datetime计算时间差

作者: GeorgeV | 来源:发表于2018-01-30 19:26 被阅读0次

    最近在计算两个时间字符串的差值,会用到datetime模块
    在这个模块中,提供计算天数、秒和总秒数的差值计算。

    计算天数间隔

    from datetime import datetime,timedelta
    a1='2017-10-07 09:01:04'
    a2='2017-10-05 10:02:50'
    test1=datetime.strptime(a1, "%Y-%m-%d %H:%M:%S")
    test2=datetime.strptime(a2, "%Y-%m-%d %H:%M:%S")
    diff=test2-test1
    print(diff.days)
    

    输出结果
    1

    计算秒数间隔

    from datetime import datetime,timedelta
    a1='2017-10-04 09:01:04'
    a2='2017-10-05 10:02:50'
    test1=datetime.strptime(a1, "%Y-%m-%d %H:%M:%S")
    test2=datetime.strptime(a2, "%Y-%m-%d %H:%M:%S")
    diff=test2-test1
    print(diff.days)
    

    输出结果:
    3706

    等等,好像不对3600秒是一个小时,这两个时间好像差了一天。
    对的,原因在于seconds只能计算同一天的间隔,所以事先要计算出差值的天数,用天数144060+秒数才能得到正确的结果
    所以对于这种情况一般使用total_seconds()来解决

    print(diff.total_seconds())
    

    输出结果:
    90106.0

    计算分钟间隔

    在datetime中没有专门的模块来计算分钟间隔,因此需要用秒数进行换算,由于我们目前的工程计算中不需要很精确的分钟数据,所以可以直接取整。

    print(diff.total_seconds()//60)
    

    输出结果:
    61

    注:如果用一个小的时间减去大的时间,使用//运算后就会得到一个负整数,比如-61,也是符合我们设计要求的

    相关文章

      网友评论

          本文标题:用datetime计算时间差

          本文链接:https://www.haomeiwen.com/subject/bpthzxtx.html