簡體   English   中英

JavaScript中兩個日期選擇器值之間的天數差異?

[英]Difference in Days between two Date picker values in JavaScript?

我有兩個日期選擇器,如下所示:

<input type="date" name ="datepicker_start" id="datepicker" value=""  class="datepicker" size="20" />

<input type="date" name ="datepicker_end" id="datepicker2"  value="" class="datepicker" size="20" />

我想計算天的差異,然后將天的差異與:

<input type="text" name="tleave" value="Var" readonly="true" size="10" />

其中Var是變量。

然后,如果差異大於“ Var”值,則需要彈出錯誤消息。

當您可以設置休假的開始日期和結束日期,但休假的持續時間不能超過休假余額時,基本上將其視為休假請求; 如果是這樣,系統應通知用戶。

如果您使用moment.js ,則會執行以下操作:

var start = $('#datepicker').val(),
end = $('#datepicker2').val();

var diffInDays = moment(start).diff(moment(end), 'days');

if(diffInDays > Var) {...}

更新:

我已經更新了你的小提琴

HTML:

<input type="text" name="datepicker_start" id="datepicker" value="" class="datepicker" size="20" />
<input type="text" name="datepicker_start2" id="datepicker2" value="" class="datepicker" size="20"   />

<button>number of days</button>

JS:

$('#datepicker, #datepicker2').datepicker();

$('button').click(function () {
    var start = $('#datepicker').val(),
        end = $('#datepicker2').val();

    var diffInDays = moment(end).diff(moment(start), 'days');

    alert(diffInDays);
});

我已經將輸入類型更改為text ,因為type='date'在小提琴中給出了意外的ui。 您必須使用jquery datepicker作為后備。

在我的小提琴中,我使用了一個5.5kb jQuery moment.js5.5kb庫來處理日期。

沒有不需要的庫

    var start = new Date( $('#datepicker').val() ).getTime(),
        end = new Date( $('#datepicker2').val() ).getTime();

    //1000 * 60 * 60 * 24 = 1 day = 86400000
    alert( ((end - start) / 86400000) + " days" );

暫無
暫無

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

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