jQuery UI Datepicker以天为单位的差异

我需要计算所选日期和当前日期之间的周数差异。 我试过用weekNumberPicked - weekNumberCurrent计算weekNumberPicked - weekNumberCurrent ,但如果两个日期在不同的年份,结果是不正确的,所以我可能需要像daysDifference / 7那样得到它。 我应该如何使用onSelect操作实现它?

您可以使用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()方法返回一个javascript Date对象,你可以这样做:

 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  Age