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

简介: [Python]计算指定时间与当前时间相差几年几月几日
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日


相关文章
|
2月前
|
Python
【10月更文挑战第10天】「Mac上学Python 19」小学奥数篇5 - 圆和矩形的面积计算
本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。
165 60
|
6天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
31 18
|
9天前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
17 7
|
1月前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
68 3
|
2月前
|
Python
【10月更文挑战第15天】「Mac上学Python 26」小学奥数篇12 - 图形变换与坐标计算
本篇将通过 Python 和 Cangjie 双语实现图形变换与坐标计算。这个题目帮助学生理解平面几何中的旋转、平移和对称变换,并学会用编程实现坐标变化。
66 1
|
2月前
|
机器学习/深度学习 移动开发 Python
【10月更文挑战第11天】「Mac上学Python 22」小学奥数篇8 - 排列组合计算
本篇将通过 Python 和 Cangjie 双语讲解如何计算排列与组合。这道题目旨在让学生学会使用排列组合公式解决实际问题,并加深对数学知识和编程逻辑的理解。
65 4
|
2月前
|
数据可视化 Python
【10月更文挑战第12天】「Mac上学Python 23」小学奥数篇9 - 基础概率计算
本篇将通过 Python 和 Cangjie 双语实现基础概率的计算,帮助学生学习如何解决简单的概率问题,并培养逻辑推理和编程思维。
53 1
|
2月前
|
Python
使用python计算两个日期之前的相差天数,周数
使用python计算两个日期之前的相差天数,周数
43 0
|
2月前
|
索引 Python
Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
这篇文章是关于如何使用Python读取Excel文件中的学生成绩数据,并进行计算平均成绩、成绩等级划分、统计分数大于70的次数以及找出最优成绩等操作的教程。
81 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
Python 中的计算与应用
Python 中的计算与应用
29 0