python - 减去相同的两个日期时如何计算为 1 天

标签 python date django-views

这是我计算两个给定日期之间的差异的代码

days = datetime.strptime(todate, "%Y-%m-%d") - datetime.strptime(fromdate, "%Y-%m-%d")
print days

效果很好。但是,问题是当给定两个相同的日期时,即 todate = 2015-07-31,fromdate = 2015-07-31,它会将其计算为 0 天。我希望如果 todatefromdate 相同,则计算结果应该是 1 而不是 0。

最佳答案

使用max来限制返回值不低于一天怎么样。

days = max(timedelta(days=1),
           datetime.strptime(todate, "%Y-%m-%d") -
           datetime.strptime(fromdate, "%Y-%m-%d"))
<小时/>
>>> fromdate = '2015-07-31'
>>> todate = '2015-07-31'
>>> days = max(timedelta(days=1),
...            datetime.strptime(todate, "%Y-%m-%d") -
...            datetime.strptime(fromdate, "%Y-%m-%d"))
>>> days
datetime.timedelta(1)

关于python - 减去相同的两个日期时如何计算为 1 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31739612/

相关文章:

python - 如何删除给定索引集的列表元素?

python - 如何在 django 中定义临界区

python - 使用像 numpy 数组这样的函数

javascript - 为什么 JQuery 不传递替换 div 中的 post_id 和 post_type

django - 如何制作同时执行 GET 和 POST 的 Django View ?

python - 使用 pandas 将带有填充零的序列号附加到序列中

javascript - 为什么我无法将毫秒从 C# 转换为 JavaScript 日期对象?

php - 简单的日期函数在 php 中不起作用

date - 使用 Eloquent,我如何过滤我的模型查询以仅包含今天创建的项目?

python - django 异常处理程序中间件和 handler500