zoukankan      html  css  js  c++  java
  • python3练习:计算日期差

    计算两个日期差

    方法一

    #日期练习题;计算日期差,方法一:直接减
    from datetime import datetime
    from datetime import date
    import time
    
    sum = 0
    dates = ['2019-1-2','2019-1-27','2019-2-25','2019-3-25','2019-4-22','2019-5-20','2019-6-16','2019-7-19','2019-8-15','2019-9-10','2019-10-9','2019-10-31','2019-11-24']
    for i in range(len(dates)-1):
        dateq = datetime.strptime(dates[i],'%Y-%m-%d').date()      #字符串格式转为日期格式
        dateh = datetime.strptime(dates[i+1],'%Y-%m-%d').date()    #字符串格式转为日期格式
        print(dateq,dateh,end='')                                  #,end=''不换行,在行尾显示一个空格
        datec =dateh -dateq                                        #两个日期的差
        print ('相隔:',datec.days)
        sum += datec.days
    print ("总相隔:",sum,"次数:",len(dates)-1)
    print("平均总相隔:%.2f" %(sum/(len(dates)-1)))

    方法二

    from datetime import datetime
    from datetime import date
    import time
    
    #日期练习题;计算日期差,方法二:使用__sub__()方法
    sum = 0
    dates = ['2019-1-2','2019-1-27','2019-2-25','2019-3-25','2019-4-22','2019-5-20','2019-6-16','2019-7-19','2019-8-15','2019-9-10','2019-10-9','2019-10-31','2019-11-24']
    for i in range(len(dates)-1):
        dateq = datetime.strptime(dates[i],'%Y-%m-%d').date()      #字符串格式转为日期格式
        dateh = datetime.strptime(dates[i+1],'%Y-%m-%d').date()    #字符串格式转为日期格式
        print(dateq,dateh,end='')                                  #,end=''不换行,在行尾显示一个空格
        datec =dateh.__sub__(dateq)                                #两个日期的差
        print ('相隔:',datec.days)
        sum += datec.days
    print ("总相隔:",sum,"次数:",len(dates)-1)
    print("平均总相隔:%.2f" %(sum/(len(dates)-1)))

    结果一致

    2019-01-02 2019-01-27相隔: 25
    2019-01-27 2019-02-25相隔: 29
    2019-02-25 2019-03-25相隔: 28
    2019-03-25 2019-04-22相隔: 28
    2019-04-22 2019-05-20相隔: 28
    2019-05-20 2019-06-16相隔: 27
    2019-06-16 2019-07-19相隔: 33
    2019-07-19 2019-08-15相隔: 27
    2019-08-15 2019-09-10相隔: 26
    2019-09-10 2019-10-09相隔: 29
    2019-10-09 2019-10-31相隔: 22
    2019-10-31 2019-11-24相隔: 24
    总相隔: 326 次数: 12
    平均总相隔:27.17
  • 相关阅读:
    【洛谷P1948】[USACO08JAN]电话线
    【洛谷P1967】[NOIP2013]货车运输
    【题解】洛谷P2926 [USACO08DEC]拍头Patting Heads
    【题解】洛谷P1495 曹冲养猪 (中国剩余定理)
    【题解】POJ1845 Sumdiv(乘法逆元+约数和)
    【题解】P1516 青蛙的约会(Exgcd)
    【数论】同余问题
    DP Cleaning Up 打扫卫生
    set+链表 【POJ Challenge】生日礼物
    并查集 [Scoi2010]游戏
  • 原文地址:https://www.cnblogs.com/jxba/p/11924803.html
Copyright © 2011-2022 走看看