首页 > 解决方案 > 查找今天日期和输入日期之间的日期差异

问题描述

我目前正在尝试构建一个函数,该函数采用日期字符串并返回从该日期到现在的天数。如果检测到格式错误,它将返回 0,输入日期字符串格式为日/月/年(例如 12/3/21)。如果是过去的日期,则该数字应为负数(例如,今天是 21 年 14 月 3 日,输入日期是 21 年 3 月 3 日,函数应返回 -11)。到目前为止,这是我的代码,但它一直返回 0:

from datetime import datetime
from datetime import date

def convert_date(input_date):
    try:
        current_date = date.today()
        
        d1 = datetime.strptime(input_date, '%d/%m/%y')
        d2 = datetime.strptime(current_date, '%d/%m/%y')
        delta = d1 - d2
        return delta.day
    
    except:
        return 0

我非常不确定自己做错了什么,因为我做了很多研究但没有找到解决方案。希望有人能提供进一步的澄清,谢谢

(我也在使用 Datetime 包)

标签: python

解决方案


这些是基础知识,您需要很好地理解 datetime 模块。希望这可以解决您的问题。

from datetime import datetime


def convert_date(input_date):
    try:
        current_date = datetime.today()

        d1 = datetime.strptime(input_date, '%d/%m/%y')

        delta = d1 - current_date
        return delta.days
    except ValueError:
        return 0

推荐阅读