2016-08-23 30 views
0

我有我檢索的數據列表,並且從先前的日期時間開始排序。我試圖根據我指定的時間和日期在這個列表中向後循環,但是列表中的日期和時間不一定等於我指定的日期時間,所以我希望它在列表中找到最接近的日期時間然後向後迭代。這裏有一個例子:比較並找到距離給定的結束日期時間最近的日期時間php

我想要的「2016年8月27日下午23:30:00」

列表:

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..really需要幫助與它

在先進的人感謝

+1

什麼日期時間,你提供什麼應該是所需的輸出?基於什麼邏輯?你需要用一個例子來清楚地解釋它。 –

+0

@對象機械手坦率地說,我在這裏做拍賣/拍賣邏輯...當拍賣結束時,它會找到結束拍賣日期時間的最接近的日期時間.... –

回答

1

推入日期到數組中並對其進行排序。

$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"); 
+0

我只是嘗試它,但它似乎拋出一個錯誤 解析錯誤:語法錯誤,意外'usort'(T_STRING) –

+0

如果您只是複製粘貼。第一行缺少分號。我將盡快回到這臺電腦 – Evus

+0

,感謝@Evus現在的工作..... –