Я пытаюсь найти разницу между двумя датами. Даты получаются с jquery, и я также использую datejs. При использовании datejs он подбирает мою дату, поскольку США думают, что это MM/DD/YYYY вместо dd-mm-yyyy. Мой результат для разницы - NaN. Как мне это решить. Я вдали или где-то рядом?Найти разницу между двумя датами с помощью javascript
var msMinute = 60*1000,
msDay = 60*60*24*1000;
start = $('#reconcile_start_date').val(); // 10-12-2014 | dd-mm-yyyy
end = $('#reconcile_end_date').val(); // 15-12-2014 | dd-mm-yyyy
start = new Date(start);
end = new Date(end);
console.log(Math.floor((end - start)/msDay) + ' full days between ' + end + ' and ' + start);
difference = Math.floor((end - start)/msDay);
if(difference > 30){}
Эта библиотека может быть очень полезной: http://momentjs.com/ – melancia
Я думаю, что это больше связано с тем, как я использую datejs. По какой-то причине он не любит новую дату ('10 -12-2014). Есть ли способ отформатировать это? Я не вижу (или, может быть, я пропустил это) в документации –
Если вы передадите параметры в конструктор 'Date' один за другим (год, месяц, день), вы получите то, что ожидаете. Не передавайте его как строку. – melancia