jQuery UI Datepicker разница в днях - PullRequest
8 голосов
/ 28 февраля 2011

Мне нужно рассчитать разницу в количестве недель между выбранной датой и текущей датой.Я пытался вычислить с weekNumberPicked - weekNumberCurrent, но если две даты в разные годы, результат неправильный, поэтому мне, вероятно, нужно получить его как daysDifference / 7.Как мне реализовать это с действием onSelect?

Ответы [ 3 ]

18 голосов
/ 28 февраля 2011

Вы можете использовать функцию 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));
    }
});
2 голосов
/ 28 февраля 2011

Так как метод DatePicker getDate () возвращает javascript-объект Date, вы можете сделать что-то вроде:

var myDate = $('.datepicker').datepicker('getDate');
var current = new Date();
var difference = myDate - current;

difference теперь содержит количество миллисекунд между вашими двумя датами. Вы можете легко рассчитать количество недель:

var weeks = difference / 1000 / 60 / 60 / 24 / 7;
0 голосов
/ 07 июля 2014

попробуйте этот код и примените его к своей работе: 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" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...