亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算兩個日期的天數

如何計算兩個日期的天數

守候你守候我 2023-07-06 17:38:39
我想計算兩個日期的天數我的日期格式是dd-mmm-yyyy這樣的"10-Nov-2020" 有人可以幫我嗎?<script>        var deFromDate;        var deToDate;        var statarr;        function deFromDateChanged(s, e) {            deFromDate = (s.GetInputElement().value)            //statarr = deFromDate.split('-');        }        function deToDateChanged(s, e) {            deToDate = (s.GetInputElement().value)            var Difference_In_Time = deToDate.getTime() - deFromDate.getTime();            var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);            alert(Difference_In_Days);        }    </script>我收到錯誤getTime()是否有其他方法可以執行相同操作
查看完整描述

2 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

使用Date.parse()(盡管由于實現不一致而不鼓勵使用)

function datediff(first, second) {

? ? return Math.round((second-first)/(1000*60*60*24));

}


const deFromDate = Date.parse('10-Nov-2020');

const deToDate = Date.parse('15-Nov-2020');


console.log(datediff(deFromDate, deToDate));

手動解析


var months = {

? ? 'Jan' : 1,

? ? 'Feb' : 2,

? ? 'Mar' : 3,

? ? 'Apr' : 4,

? ? 'May' : 5,

? ? 'Jun' : 6,

? ? 'Jul' : 7,

? ? 'Aug' : 8,

? ? 'Sep' : 9,

? ? 'Oct' : 10,

? ? 'Nov' : 11,

? ? 'Dec' : 12

}

function parseDate(str) {

? ? var [dd, mmm, yyyy] = str.split('-');

? ? return new Date(yyyy, months[mmm]-1, dd); // months are 0 indexed

}


function datediff(first, second) {

? ? return Math.round((second-first)/(1000*60*60*24));

}


const deFromDate = parseDate('10-Nov-2020');

const deToDate = parseDate('15-Nov-2020');


console.log(datediff(deFromDate, deToDate));


查看完整回答
反對 回復 2023-07-06
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

我嘗試使用正則表達式:


 <script>

        var deFromDate;

        var deToDate;

        var dt1;

        var dt2;

        function deFromDateChanged(s, e) {

            deFromDate = (s.GetInputElement().value)

            dt1 = new Date(deFromDate.replace(/(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"));

        }

        function deToDateChanged(s, e) {

            deToDate = (s.GetInputElement().value)

            dt2 = new Date(deToDate.replace(/(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"));

            var result = ((dt2 - dt1) / 86400000);

            alert(result);

        }


    </script>


查看完整回答
反對 回復 2023-07-06
  • 2 回答
  • 0 關注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號