美文网首页
[Python]计算指定时间与当前时间相差几年几月几日

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

作者: GuangHui | 来源:发表于2018-02-06 17:35 被阅读502次
    1.说明:
    1. 共有两个文件func.py和TestFunc.py
    2. 两个文件位于相同的文件夹下
    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
        try:
            #将字符串转换为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))
    
    5.运行效果演示:
    D:\python_project\venv\Scripts\python.exe D:/python_project/TestFunc.py
    请输入计算日期(格式为:1980.10.20):2017.02.07
    间隔:1年0月0日
    

    相关文章

      网友评论

          本文标题:[Python]计算指定时间与当前时间相差几年几月几日

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