在Python中找到两个日期的中点日期
给定的日期:
my_guess = '2014-11-30'
their_guess = '2017-08-30'
我该如何计算这两个日期之间的差距,并返回正确的日历日期呢?
2 个回答
5
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会做出反应。
比如说,如果你想让程序在用户输入一个特定的数字时显示一条消息,你就需要用到条件语句。条件语句就像是一个检查点,程序会在这里判断条件是否成立,如果成立就执行相应的操作。
这就好比你在生活中设定了一些规则,比如“如果今天下雨,我就带伞”。在这个例子中,“今天下雨”就是条件,而“带伞”就是在条件成立时你要做的事情。
所以,理解条件语句就像理解生活中的简单规则一样,掌握了这些规则,你就能让程序按照你的想法去运行。
from datetime import datetime
d1 = datetime.strptime(my_guess,"%Y-%m-%d")
d2 = datetime.strptime(their_guess,"%Y-%m-%d")
print d1.date() + (d2-d1) / 2 # first date plus the midpoint of the difference between d1 and d2
2016-04-15
47
一种方法是使用 datetime
。你可以先计算两个日期之间的差距,然后把这个差距减半,再把这个值加到较早的日期上:
>>> from datetime import datetime
>>> a = datetime(2014, 11, 30)
>>> b = datetime(2017, 8 ,30)
>>> a + (b - a)/2
2016-04-15 00:00:00