代码之家  ›  专栏  ›  技术社区  ›  Pointer

如何计算奥多的年、月、日总数

  •  -1
  • Pointer  · 技术社区  · 7 年前

    我的例子:

    打印退货

    年=1个月=5天=15

    import datetime
    import math
    new_date = datetime.datetime(2017,1,1)
    differnce = datetime.datetime.now() - new_date
    year = differnce.days//(365.25)
    month = (differnce.days-year*365.25)//(365.25/12)
    day = ((differnce.days-year*365.25) - month*(365.25/12))
    print('Years=',int(year),' Months=',int(month), ' Days=',int(math.ceil(day)))
    
    year_2 = 1
    month_2 = 1
    days_2 = 1
    

    2年6个月16天怎么区别?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Bubble Bubble Bubble Gut    7 年前

    试用使用 dateutil :

    import datetime
    from dateutil.relativedelta import relativedelta
    
    new_date = datetime.datetime(2017,1,1)
    difference = relativedelta(datetime.datetime.now(), new_date)
    difference
    # relativedelta(years=+1, months=+5, days=+17, hours=+10, minutes=+22, seconds=+36, microseconds=+281175)
    
    new_difference = difference + relativedelta(years=1, months=1, days=1)
    new_difference
    # relativedelta(years=+2, months=+6, days=+18, hours=+10, minutes=+22, seconds=+36, microseconds=+281175)