暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python datetime time计算时间差

捷创源科技 2022-02-18
2651

点击上方蓝字 ● 关注捷创源科技



       在开发工作中,我们经常需要用到日期与时间,如:

1.作为日志信息的内容输出

2.计算某个功能的执行时间

3.用日期命名一个日志文件的名称

4.记录或展示某文章的发布或修改时间

5.其他

     Python中提供了多个用于对日期和时间进行操作的内置模块:time模块、datetime模块和calendar模块。其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h基本一致。time模块相比,datetime模块提供的接口更直观、易用,功能也更加强大。


这里我们只讲述datetime模块


datetime模块


       datetime模块提供了处理日期和时间的类,既有简单的方式,又有复杂的方式。它虽然支持日期和时间算法,但其实现的重点是为输出格式化和操作提供高效的属性提取功能。


一、计算时间差

    """
    python主文件
    """
    # -*- coding: utf-8 -*-


    import time


    """=====================================
    主函数
    ====================================="""
    if __name__ == '__main__':
    # 获取当前开始的日期和时间,例:2022-02-05 14:20:36
    strStartDateTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    # format_time to struct_time to timestamp
    startSeconds = time.mktime(time.strptime(strStartDateTime, "%Y-%m-%d %X"))


    # 延时,做其他任务
    time.sleep(15)


    # 获取当前结束的日期和时间,例:2022-02-05 14:20:50
    strEndDateTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    # format_time to struct_time to timestamp
    endSeconds = time.mktime(time.strptime(strEndDateTime, "%Y-%m-%d %X"))


    # 打印时间差
    # print(f'耗费时间:{endSeconds - startSeconds}秒')
    print(f'耗费时间:{(endSeconds - startSeconds):.0f}秒')


    运行结果:


    二、计算2个日期相差的天数

      """
      python主文件
      """
      # -*- coding: utf-8 -*-
      import datetime
      import time


      """=====================================
      主函数
      ====================================="""
      if __name__ == '__main__':
      now = datetime.datetime.now()
      before = datetime.datetime(2022, 2, 16, 17, 7, 55, 466176)
      print(now)
      print(before)
      # 测试计算2个日期相差天数
      print(now.__sub__(before).days)


      运行结果:


      关注上面微信公众号“捷创源科技”,每天获取技术干货,让我们一起成长!

      文章转载自捷创源科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论