簡體   English   中英

jQuery UI Datepicker的天數差異

[英]jQuery UI Datepicker difference in days

我需要計算所選日期和當前日期之間的周數差。 我嘗試使用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 <input type="text" name="date_born" id="date_born"/> 
Age <input type="text" name="age"  id="age" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM