减去相同的两个日期时如何计算为 1 天
How do i make the calculation as 1 day when subtracting same two dates
这是我计算两个给定日期之间差异的代码
days = datetime.strptime(todate, "%Y-%m-%d") - datetime.strptime(fromdate, "%Y-%m-%d")
print days
它工作正常。但是,问题是当给定两个相同的日期时,即 todate = 2015-07-31, fromdate = 2015-07-31
,它会将其计算为 0 天。我希望如果 todate
和 fromdate
相同,则计算应该是 1 而不是 0。
可能使用布尔运算符:
from datetime import datetime, timedelta
days = datetime.strptime(todate, "%Y-%m-%d") - datetime.strptime(fromdate, "%Y-%m-%d")
days = days or timedelta(days=1)
如何使用max
来限制return值不低于一天
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)
这是我计算两个给定日期之间差异的代码
days = datetime.strptime(todate, "%Y-%m-%d") - datetime.strptime(fromdate, "%Y-%m-%d")
print days
它工作正常。但是,问题是当给定两个相同的日期时,即 todate = 2015-07-31, fromdate = 2015-07-31
,它会将其计算为 0 天。我希望如果 todate
和 fromdate
相同,则计算应该是 1 而不是 0。
可能使用布尔运算符:
from datetime import datetime, timedelta
days = datetime.strptime(todate, "%Y-%m-%d") - datetime.strptime(fromdate, "%Y-%m-%d")
days = days or timedelta(days=1)
如何使用max
来限制return值不低于一天
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)