查找最接近给定日期的日期
问题内容:
我有一个datetime对象数组,我想找到数组中哪个元素最接近给定的日期(例如datetime.datetime(2014,12,16)
)
这篇文章展示了如何找到 不早于给定日期 的最近 日期 。如何更改此代码,以便它可以返回给定日期之前的日期?
例如,如果数组中包含元素datetime.datetime(2014,12,10)
和datetime.datetime(2014,12,28)
,则应返回前一项,因为它的datetime.datetime(2014,12,16)
绝对值最接近。
问题答案:
该函数将返回datetime
在items
其最接近的日期pivot
。
def nearest(items, pivot):
return min(items, key=lambda x: abs(x - pivot))
datetime
如果该类型支持比较,减法和abs
,例如数字和向量类型,则此函数的优点在于它不是现成的类型。