2016-12-14 3 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) 'is:' 1482037200 => (2016-12-18) '. см .: https: //jsfiddle.net/gmmn4erq/ –

+0

Мне нужна ближайшая дата, которая была после указанной даты (моя дата). –

Смежные вопросы