python - 查找今天日期和输入日期之间的日期差异
问题描述
我目前正在尝试构建一个函数,该函数采用日期字符串并返回从该日期到现在的天数。如果检测到格式错误,它将返回 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 包)
解决方案
这些是基础知识,您需要很好地理解 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
推荐阅读
- java - OrderBy query - Can I order by the grandchild "Vote" stored in firebase?
- javascript - This in function inside object Javascript
- python - How to sort grouped multi-index pandas series by index level and values?
- c - 关于我的发送的问题 - 动态分配
- php - Wordpress 管理栏与我的内容重叠?
- amazon-ecs - 使用 AWS Elastic Load Balancer 转发时更改路径
- r - 如何将表转换为 data.table
- javascript - 使用 for 循环更改对象中的所有键值对
- android - 检查文件路径上是否存在视频
- javascript - 在 CSS 的情况下如何更改 Ace-editor 的行为?