This post几乎为我回答了这个问题,但我有一个特定的需求,并没有找到我所寻求的。我不能完全理解它,所以我真正需要的是一个正确的方向。
假设我有一个如下的数组:
array(5) {
[0]=> "2013-02-18 05:14:54"
[1]=> "2013-02-12 01:44:03"
[2]=> "2013-02-05 16:25:07"
[3]=> "2013-01-29 02:00:15"
[4]=> "2013-01-27 18:33:45"
}
我希望有一种方法来提供日期(例如“2013-02-04 14:11:16”),并让一个函数确定数组中与此最接近的匹配(在本例中为“2013-02-05 16:25:07”)。
我会很感激任何提示。谢谢!:)
6条答案
按热度按时间rjzwgtxy1#
我可能没有最好的命名惯例,但这里开始。
我计算日期数组与给定日期之间的间隔,然后进行排序,以找到“最小”差异。
oknwwptz2#
如果我完全理解你的问题,那么这将解决你的问题。
受试代码
mrphzbgm3#
假设您的数组更大,并且日期范围在
2009-10-01
到2019-10-01
之间,现在让我们比较两种方法:a.looping-array approach
对B.sorting-indexing-array approach
。打印结果得到(http://phptester.net/)
这是一个巨大的时间流逝增益。我们除以10等待时间
f0ofjuux4#
试试这个:
您的第一个元素将是最接近的匹配日期。
注意:请在使用前进行测试。
oknrviil5#
这篇文章帮助我想到了一个解决类似问题的方法,所以我把它放在这里。
给定一个日期数组,我需要找到最近的日期,在上周日之前或等于上周日。
下面是我在不使用任何自定义函数的情况下所做的操作:
6tqwzwtp6#
这样你也可以得到排序的日期时间数组
//输入
//输出