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

2018-02-06  本文已影响502人  GuangHui
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日
上一篇下一篇

猜你喜欢

热点阅读