python - 如何在 Python 中获取最近的上一个日期?
问题描述
我有一个日期时间对象数组,我想找出数组中的哪个元素是给定日期之前最接近的(例如datetime.datetime(2020,11,1)
)
这篇文章展示了如何找到最近的绝对日期。如何更改此代码以使其仅返回给定日期之前的日期?
例如,如果数组包含元素和datetime.datetime(2020,10,10)
,则应返回第二个项目,因为它与上一个日期最接近。是否有可能用 lambda 制作这样的东西,或者它是否过于复杂?datetime.datetime(2020,10,25)
datetime.datetime(2020,11,2)
datetime.datetime(2020,11,1)
解决方案
由于datetime.datetime
对象可以相互比较,因此可以使用 max:
import datetime
dates = (
datetime.datetime(2020,10,10),
datetime.datetime(2020,10,25),
datetime.datetime(2020,11,2)
)
date = datetime.datetime(2020,11,1)
print(max(d for d in dates if d < date))
输出:
2020-10-25 00:00:00
>>>
推荐阅读
- lexical-closures - 在内部函数中访问外部函数变量
- r - R purrr map 在输出中显示列名
- kubernetes - 使用同一域的两个不同后端服务的 Google 身份识别代理
- angular - 如何在角度 6 的获取请求中显示结果标头
- javascript - 单击时更改 svg 元素的属性填充
- javascript - 将three.js脚本固定在可滚动页面中
- javascript - 如何从 JSON JavaScript 返回普通字符
- solr - 无法使用 Solr SortableTextField 执行不区分大小写的排序
- swift - 在 tableView 上创建没有部分的 indexList?
- c# - 为什么在单元测试期间单独的 DbContext 会修改相同的 DbSet?