繁体   English   中英

如何计算两个日期的天数

[英]How Can I Calculate No Of Days From Two Dates

我想从两个日期计算天数 我的日期格式是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()上遇到错误 有没有其他方法可以做同样的事情

使用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));

我尝试使用正则表达式:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM