2016-12-14 129 views
-1

我在輸入值中有多個日期(strtotime),並且想要使用jQuery或javascript指定日期(我的日期)之後的最近日期。我該怎麼辦?獲取指定日期之後的最近日期

<input id="DateBox" value="1481691600,1482037200,1482642000"> 

我的約會:

1481778000 => (2016-12-15) 

幾個日期(的strtotime):

1481691600 => (2016-12-14) 
1482037200 => (2016-12-18) 
1482642000 => (2016-12-25) 

回報:

1482037200 => (2016-12-18) 
+0

什麼是「strtotime」? –

+0

strtotime in php,:http://php.net/manual/en/function.strtotime.php –

+0

我不知道這件事。 –

回答

0

這應該讓你接近你所需要的。本質上,您需要遍歷每個值並將其與您當前的日期進行比較,隨時存儲最佳值。如果我的任何一種語法都是一句話,請原諒我。

current_date = 1481778000; 
// Get our values as an array. 
var all_values = jQuery('#DateBox').val().split(','); 
// Track our current value and difference. 
var current_val = -1; 
var current_diff = -1; 
jQuery.each(all_values, function(index, value) { 
    if(current_val == -1) { 
     // First value is automatically the best guess. 
     current_val = value; 
     current_diff = Math.abs(current_date - value); 
    } else { 
     // Compare against our current best guess. 
     if(Math.abs(current_date - value) < current_diff) 
      current_val = value; 
    } 
}); 
//We have our value. 
console.log("Correct Value", current_val); 
+0

注意,沒有值的輸入將返回值-1。 –

+0

tnx,但是這給了我結果'正確的價值1481691600',萬一離'1481778000 =>(2016-12-15)'最近的日期是:'1482037200 =>(2016-12-18)''。請參閱:https://jsfiddle.net/gmmn4erq/ –

+0

我想要在指定日期(我的日期)之後的最近日期。 –