[Python]计算指定时间与当前时间相差几年几月几日

1.说明:
  • 共有两个文件func.py和TestFunc.py
  • 两个文件位于相同的文件夹下
  • 2.知识点概述:
    2.1 字符串的截取与分割:arr = inputTimeStr.strip().split('.')
    2.2  字符串与数字之间的转换:year = int(arr[0])
    2.3 条件判断语句
    2.4 异常处理
    2.5 数字计算处理,整除,取余
    2.6 datetime模块
    
    3. func.py文件:
    #coding=utf-8
    import datetime
    # 任意输入一个年月日,计算距离今天几年几月几日。
    # 要求:
    # 使用函数,可复用
    # 输入格式:1920.3.28
    # 年份范围:1700-2018,超出提示
    # 一年按照365天,一月按照30天计算。
    def calculateTimeDiff(inputTimeStr):
        arr = inputTimeStr.strip().split('.')
        year = int(arr[0])
        if year <= 1700 or year >= 2018:
            return '输入的日期必须位于1700-2018之间'
        inputTime = None
            #将字符串转换为datetime
            inputTime = datetime.datetime.strptime(inputTimeStr,'%Y.%m.%d')
        except:
            return '输入日期格式不符合规则,格式必须为1980.10.20'
        #获取当前的datetime
        now =datetime.datetime.now()
        #计算时间差
        n_days = now - inputTime
        #获取相差的总天数
        days = n_days.days
        #获取间隔年数:
        year = days//365
        #间隔月数
        month= days%365//30
        #间隔天数:
        day = days%365%30
        return '间隔:'+str(year)+'年'+str(month)+'月'+str(day)+'日'
    #类中调用测试
    # inputTimeStr = input('请输入计算日期(格式为:1980.10.20):')
    # print(calculateTimeDiff(inputTimeStr))
    
    4. TestFunc.py文件:
    #导入相同文件夹下func.py文件中calculateTimeDiff方法
    from func import calculateTimeDiff
    #调用测试
    inputTimeStr = input('请输入计算日期(格式为:1980.10.20):')
    print(calculateTimeDiff(inputTimeStr))