2011-02-28 71 views
7

我需要計算所選日期和當前日期之間的星期差數。我試着用weekNumberPicked - weekNumberCurrent來計算,但如果兩個日期在不同的年份,結果是不正確的,所以我可能需要得到它像daysDifference/7。我應該如何實施這個onSelect行動?jQuery UI Datepicker天數差異

回答

15

您可以使用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)); 
    } 
}); 
+0

感謝,這正是我需要的 – 2011-02-28 14:31:01

2

由於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

試試這個代碼,並將其應用到你的工作: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" />