[Python]计算指定时间与当前时间相差几年几月几日
2018-02-06 本文已影响502人
GuangHui
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日