2013-02-11 5 views
1

Я ищу, чтобы попытаться рассчитать количество дней между двумя полями даты и отобразить это значение в поле ввода. Я искал множество разных методов, но не могу заставить их работать. Я использую boostrap-datepicker.jsПоказывать количество дней между двумя датами датпикера?

Я создал скрипку JS здесь http://jsfiddle.net/KLpq7/201/, так что вы можете увидеть мои усилия до сих пор

Мой JS выглядит следующим образом

function days() { 
     var a = $("#datepicker_start").datepicker('getDate').getTime(), 
      b = $("#datepicker_end").datepicker('getDate').getTime(), 
      c = 24*60*60*1000, 
      diffDays = Math.round(Math.abs((a - b)/(c))); 
     $("#totaldays").val(diffDays) 
} 

$('.datepicker') 
.datepicker({format: 'DD, dd.mm.yyyy'}) 
.on('changeDate', function(ev){ 
$(this).datepicker('hide').blur(); 
}); 

В первой части я нахожусь пытаясь добиться этого, но он не работает!

ищет некоторую помощь ...

+1

Может быть полезно, если вы вызвали функцию 'days' где-нибудь – musefan

+0

любую ссылку о том, как это сделать? – Redwall

+0

@Redwall не уверен, что это проблема, но он имеет в виду просто вызов функции следующим образом:. (0; – Trufa

ответ

4

Я изменил ваш jsfiddle, который правильно вычисляет различия. Думаю, я заметил, что вы используете формат dd/mm/yyyy, и по умолчанию JS хочет, чтобы даты были такими, как mm/dd/yyyy. Лучше всего, если вы справитесь с этим «американским» способом расчета расценок по дате, но если вы должны использовать «правильный» стиль dd/mm/yyyy, я бы порекомендовал взглянуть на библиотеку Globalize.

+0

приветствует человека, спасибо большое! Отмечено на дату, не проблема ... Последнее, что мне было интересно, - это то, что можно удалить выходные дни (сидеть, солнце) из этого расчета дней .. – Redwall

+0

Не с вашим первоначальным расчетом. Это совсем другой вопрос, но в основном это касается математики. Вам нужно будет решить, сколько недель прошло, а затем взять 2 дня с каждой недели. Теперь он работает, вы должны быть в состоянии играть с ним. – Deif

+0

классный человек, спасибо за выкапывание! Скоро опубликует это в другом вопросе ... – Redwall

0
function DateDiff(var date1, var date2) { 
    return date1 - date2; 
} 

Должен работать, если вы передадите в двух объектах Даты в JavaScript. Возвращаемый результат будет числом миллисекунд между ними, которое может быть легко преобразовано в дни или часы или недели и т. Д.

+0

Я думаю, что у OP уже есть эта логика, им просто нужно разобраться, как правильно называть – musefan

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