jQuery UI Datepicker разница в днях
мне нужно рассчитать количество недель разницы между выбранной датой и текущей датой. Я попытался вычислить с помощью weekNumberPicked - weekNumberCurrent
, но если две даты находятся в разные годы, результат неверен, поэтому мне, вероятно, нужно получить его как daysDifference / 7
. Как я должен реализовать это с помощью onSelect
действий?
3 ответов
вы можете использовать функцию Datepicker getDate для получения объекта Date.
затем просто вычтите одну дату из другой (возможно, также захотите получить абсолютное значение), чтобы получить разницу в миллисекундах и вычислить разницу в днях или неделях.
$('#test').datepicker({
onSelect: function() {
var date = $(this).datepicker('getDate');
var today = new Date();
var dayDiff = Math.ceil((today - date) / (1000 * 60 * 60 * 24));
}
});
поскольку DatePicker getDate () methode возвращает объект даты javascript, вы можете сделать что-то вроде :
var myDate = $('.datepicker').datepicker('getDate');
var current = new Date();
var difference = myDate - current;
difference
теперь содержит количество миллисекунд между двумя датами
вы можете легко вычислить количество недель :
var weeks = difference / 1000 / 60 / 60 / 24 / 7;
попробуйте этот код и примените его к своей работе: D
$("#date_born").datepicker({
onSelect: function () {
var start = $('#date_born').datepicker('getDate');
var end = new Date();
var age_year = Math.floor((end - start)/31536000000);
var age_month = Math.floor(((end - start)% 31536000000)/2628000000);
var age_day = Math.floor((((end - start)% 31536000000) % 2628000000)/86400000);
$('#age').val(age_year +' year ' + age_month + ' month ' + age_day + ' day');
},
dateFormat: 'dd/mm/yy',
maxDate: '+0d',
yearRange: '1914:2014',
buttonImageOnly: false,
changeMonth: true,
changeYear: true
});
Html Код:
Date <input type="text" name="date_born" id="date_born"/>
Age <input type="text" name="age" id="age" />