比较并找到最接近给定结束日期时间的日期时间


Compare and find the closest datetime to given ending datetime

我有一个检索到的数据列表,按从以前到最近的日期时间排序。我试图根据我指定的时间和日期在这个列表中向后循环,但是列表中的日期和时间不一定等于我指定的日期时间,所以我希望它在列表中找到最接近的日期时间,然后向后迭代。下面是一个例子:

我想要2016-08-27 23:30:00 PM

列表:

2016-08-27 22:30:00 PM
2016-08-27 22:30:20 PM
2016-08-27 23:29:40 PM
2016-08-27 23:29:59 PM
2016-08-27 23:29:58 PM

如何在PHP中做到这一点?

将日期推入数组并排序。

$array = ['2016-08-27 23:29:58 PM', '2016-08-27 23:29:59 PM'];
function sortbydate( $a, $b ) {
    return strtotime($a) - strtotime($b);
}
usort($array, "sortbydate");
var_dump($data);

如果你想删除较新的日期

function new($var)
{
    return strtotime($a) < strtotime('2016-08-27 23:29:59');
}
array_filter($data, "new");