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 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日