电竞比分网-中国电竞赛事及体育赛事平台

分享

JS 時(shí)間運(yùn)算大全

 印度阿三17 2021-01-23


作者推薦

效果

開(kāi)始時(shí)間:2021-1-1 12:10:10
結(jié)束時(shí)間:2021-2-1 13:13:13
時(shí)間差的毫秒數(shù):2682183000
計(jì)算出-相差天數(shù):31
計(jì)算出-小時(shí)數(shù):1
計(jì)算出-分鐘數(shù):3
計(jì)算出-秒數(shù) :3
計(jì)算結(jié)果 : 相差 31天 1小時(shí) 3 分鐘3 秒

html

    <h1>作者推薦</h1>
    <div>開(kāi)始時(shí)間:<span id="hot_ks"></span></div>
    <div>結(jié)束時(shí)間:<span id="hot_js"></span></div>
    <div>時(shí)間差的毫秒數(shù):<span id="hot_sjc"></span></div>
    <div>計(jì)算出-相差天數(shù):<span id="hot_xcts"></span></div>
    <div>計(jì)算出-小時(shí)數(shù):<span id="hot_xss"></span></div>
    <div>計(jì)算出-分鐘數(shù):<span id="hot_fzs"></span></div>
    <div>計(jì)算出-秒數(shù) :<span id="hot_ms"></span></div>
    <div>計(jì)算結(jié)果 :<span id="hot_jg"></span></div>

js-調(diào)用

        //作者推薦
      var Hot=function(){ 
          var ks='2021-1-1 12:10:10';
          var js='2021-2-1 13:13:13';
          let data=TimeDifference(ks,js);
            $("#hot_ks").html(ks);
            $("#hot_js").html(js);
            $("#hot_sjc").html(data.Milliseconds);
            $("#hot_xcts").html(data.days.days);
            $("#hot_xss").html(data.days.hours);
            $("#hot_fzs").html(data.days.minutes);
            $("#hot_ms").html(data.days.seconds);
            $("#hot_jg").html(" 相差 "   data.days.days   "天 "   data.days.hours   "小時(shí) "   data.days.minutes   " 分鐘"   data.days.seconds   " 秒");
      }; 
      Hot();

js-公共函數(shù)

        //作者推薦
        function TimeDifference(d1, d2) {  
            var date1 = new Date(d1);   //開(kāi)始時(shí)間  
            var date2 = new Date(d2);    //結(jié)束時(shí)間  
            var Milliseconds = date2.getTime() - new Date(date1).getTime();   //時(shí)間差的毫秒數(shù)        

            //------------------------------  

            //計(jì)算出相差天數(shù)  
            var days = Math.floor(Milliseconds / (24 * 3600 * 1000))

            //計(jì)算出小時(shí)數(shù)   
            var leave1 = Milliseconds % (24 * 3600 * 1000)    //計(jì)算天數(shù)后剩余的毫秒數(shù)  
            var hours = Math.floor(leave1 / (3600 * 1000))
            //計(jì)算相差分鐘數(shù)  
            var leave2 = leave1 % (3600 * 1000)        //計(jì)算小時(shí)數(shù)后剩余的毫秒數(shù)  
            var minutes = Math.floor(leave2 / (60 * 1000))
            //計(jì)算相差秒數(shù)  
            var leave3 = leave2 % (60 * 1000)      //計(jì)算分鐘數(shù)后剩余的毫秒數(shù)  
            var seconds = Math.round(leave3 / 1000)


            var ResultJson = {
                days: {
                    days: days >= 0 ? days : days   1,
                    hours: hours >= 0 ? hours: hours   1,
                    minutes: minutes >= 0 ? minutes : minutes   1,
                    seconds: seconds >= 0 ? seconds: seconds   1
                },
                Milliseconds: Milliseconds
            }; 
            return ResultJson;
        }

測(cè)試源碼

注意引入jq

效果

 

代碼 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS 時(shí)間運(yùn)算</title>
    <script src="jquery.min.js"></script>
</head>

<body>
    <h1>作者推薦</h1>
    <div>開(kāi)始時(shí)間:<span id="hot_ks"></span></div>
    <div>結(jié)束時(shí)間:<span id="hot_js"></span></div>
    <div>時(shí)間差的毫秒數(shù):<span id="hot_sjc"></span></div>
    <div>計(jì)算出-相差天數(shù):<span id="hot_xcts"></span></div>
    <div>計(jì)算出-小時(shí)數(shù):<span id="hot_xss"></span></div>
    <div>計(jì)算出-分鐘數(shù):<span id="hot_fzs"></span></div>
    <div>計(jì)算出-秒數(shù) :<span id="hot_ms"></span></div>
    <div>計(jì)算結(jié)果 :<span id="hot_jg"></span></div>
    <hr>

    <h1>JS 時(shí)間運(yùn)算--天數(shù)運(yùn)算--演示1</h1>
    <p style="color: #ccc;">轉(zhuǎn)載:https://my.oschina.net/u/3913672/blog/2878194</p>
    <div>付款時(shí)間:<input type="text" name="fukuan" id="fukuan" value="2020-01-11"></div>
    <div>沖賬期限(天):<input type="text" name="chongzhang" id="chongzhang" value="1"></div>
    <div>延期天數(shù):<input type="text" name="yanqi" id="yanqi">(*修改-然后按下 enter 鍵觸發(fā)運(yùn)算)</div>
    <div>計(jì)算結(jié)果的日期:<span id="jieguo_span"></span></div>
    <hr>

    <h1>JS 時(shí)間運(yùn)算--天數(shù)運(yùn)算--演示2</h1>
    <div>開(kāi)始日期:<input type="text" name="kaishi" id="kaishi" value="2020-01-10"></div>
    <div>提前提醒天數(shù):<input type="text" name="tixing" id="tixing" value="10"></div>
    <div>執(zhí)行日期:<span id="zhixingshijian"></span></div>
    <div><input type="button" id="jisuan" value="執(zhí)行計(jì)算"></div>
    <hr>

    <h1>Js計(jì)算時(shí)間差(天、小時(shí)、分鐘、秒)--演示3</h1>
    <p style="color: #ccc;">轉(zhuǎn)載:https://www.cnblogs.com/chenlove/p/8643036.html</p>
    <div>開(kāi)始時(shí)間:<span id="demo3_kaishi"></span></div>
    <div>結(jié)束時(shí)間:<span id="demo3_jieshu"></span></div>
    <div>時(shí)間差的毫秒數(shù):<span id="demo3_sjc"></span></div>
    <div>計(jì)算出-相差天數(shù):<span id="demo3_xcts"></span></div>
    <div>計(jì)算出-小時(shí)數(shù):<span id="demo3_xss"></span></div>
    <div>計(jì)算出-分鐘數(shù):<span id="demo3_fzs"></span></div>
    <div>計(jì)算出-秒數(shù) :<span id="demo3_ms"></span></div>
    <div>計(jì)算結(jié)果 :<span id="demo3_jg"></span></div>
    <hr>


    <h1>演示4</h1>

    <h3>日期減去/加上天數(shù)等于第二個(gè)日期--演示4.1</h3>
    <p style="color: #ccc;">轉(zhuǎn)載:https://blog.csdn.net/sat472291519/article/details/18077005</p>
    <div>開(kāi)始時(shí)間:<span id="demo4_ks"></span></div>
    <div>天數(shù):<span id="demo4_ts"></span></div>
    <div>減去結(jié)果:<span id="demo4_jg1"></span></div>
    <div>加上結(jié)果:<span id="demo4_jg11"></span></div>

    <h3>兩個(gè)日期的差值(d1 - d2)--演示4.2</h3>
    <p style="color: #ccc;">轉(zhuǎn)載:https://blog.csdn.net/sat472291519/article/details/18077005</p>
    <div>開(kāi)始時(shí)間:<span id="demo4_kssj"></span></div>
    <div>結(jié)束時(shí)間:<span id="demo4_jssj"></span></div>
    <div>結(jié)果:<span id="demo4_jg2"></span></div>
    <div>結(jié)果:<span id="demo4_jg22"></span></div>



    <script type="text/javascript">

        //例子1
        $('#yanqi').change(function () {
            console.log('修改觸發(fā)運(yùn)算');
            var beginTimeVal = $('#fukuan').val();//獲取頁(yè)面中的付款時(shí)間,格式為2017-01-11類(lèi)型 
            days = $("#chongzhang").val().trim();//獲取頁(yè)面中的沖賬期限(天)val()
            days1 = $("#yanqi").val();//獲取頁(yè)面中的延期天數(shù)
            console.log('付款時(shí)間:'   beginTimeVal);
            console.log('沖賬期限(天):'   days);
            console.log('延期天數(shù):'   days1);
            daysInt = parseInt(days)   parseInt(days1);//強(qiáng)制轉(zhuǎn)換為int類(lèi)型【不轉(zhuǎn)換不會(huì)報(bào)錯(cuò)但是時(shí)間不準(zhǔn)確】
            var val = addDate(beginTimeVal, daysInt);//調(diào)用已經(jīng)封裝好的函數(shù)addDate $('#nextTime').val(val); })
            $("#jieguo_span").html(val);
        });

        //例子2
        $('#jisuan').click(function () {
            var kaishi = $('#kaishi').val();
            var tixing = $('#tixing').val();
            daysInt = parseInt(tixing);//強(qiáng)制轉(zhuǎn)換為int類(lèi)型【不轉(zhuǎn)換不會(huì)報(bào)錯(cuò)但是時(shí)間不準(zhǔn)確】
            var val = addDate(kaishi, daysInt);
            $("#zhixingshijian").html(val);
        });

        //例子3 
        var demo3 = function () {
            var date1 = '2020/12/01 00:00:00';  //開(kāi)始時(shí)間  
            var date2 = new Date();    //結(jié)束時(shí)間  
            var date3 = date2.getTime() - new Date(date1).getTime();   //時(shí)間差的毫秒數(shù)        

            //------------------------------  

            //計(jì)算出相差天數(shù)  
            var days = Math.floor(date3 / (24 * 3600 * 1000))

            //計(jì)算出小時(shí)數(shù)   
            var leave1 = date3 % (24 * 3600 * 1000)    //計(jì)算天數(shù)后剩余的毫秒數(shù)  
            var hours = Math.floor(leave1 / (3600 * 1000))
            //計(jì)算相差分鐘數(shù)  
            var leave2 = leave1 % (3600 * 1000)        //計(jì)算小時(shí)數(shù)后剩余的毫秒數(shù)  
            var minutes = Math.floor(leave2 / (60 * 1000))
            //計(jì)算相差秒數(shù)  
            var leave3 = leave2 % (60 * 1000)      //計(jì)算分鐘數(shù)后剩余的毫秒數(shù)  
            var seconds = Math.round(leave3 / 1000)

            $("#demo3_kaishi").html(date1);
            $("#demo3_jieshu").html(date2.toLocaleString());//將一個(gè)日期按照本地操作系統(tǒng)格式顯示
            $("#demo3_sjc").html(date3);
            $("#demo3_xcts").html(days);
            $("#demo3_xss").html(hours);
            $("#demo3_fzs").html(minutes);
            $("#demo3_ms").html(seconds);
            $("#demo3_jg").html(" 相差 "   days   "天 "   hours   "小時(shí) "   minutes   " 分鐘"   seconds   " 秒");
        };
        demo3();

        ///計(jì)算函數(shù)
        //日期加減法  date參數(shù)為計(jì)算開(kāi)始的日期,days為需要加的天數(shù)   
        //格式:addDate('2017-1-11',20)
        function addDate(date, days) {
            var d = new Date(date);

            //核心就是setDate()方法, date參數(shù)是要進(jìn)行加減的日期,days參數(shù)是要加減的天數(shù),如果往前算就傳入負(fù)數(shù),往后算就傳入正數(shù) ,注意js中的月份是0-11月,計(jì)算的時(shí)候要加1
            d.setDate(d.getDate()   days);
            var m = d.getMonth()   1;
            return d.getFullYear()   '-'   m   '-'   d.getDate();
        }


        /

        //例子4 
        var demo4 = function () {

            //例子4.1
            var ks = new Date();
            var ts = 10;
            $("#demo4_ks").html(ks.toLocaleString()); //將一個(gè)日期按照本地操作系統(tǒng)格式顯示
            $("#demo4_ts").html(ts);
            $("#demo4_jg1").html(demo4_MinusDays(ks, ts));
            $("#demo4_jg11").html(demo4_AddDays(ks, ts));


            //例子4.2
            var demo4_kssj = '2021-1-1';//開(kāi)始
            var demo4_jssj = '2021-10-1';//結(jié)束
            $("#demo4_kssj").html(demo4_kssj); //將一個(gè)日期按照本地操作系統(tǒng)格式顯示
            $("#demo4_jssj").html(demo4_jssj);
            $("#demo4_jg2").html(demo4_DateDiff(demo4_jssj, demo4_kssj));
        };
        demo4();
        //日期減去天數(shù)后的新日期.
        function demo4_MinusDays(dd, dadd) {
            //可以加上錯(cuò)誤處理
            var a = new Date(dd);
            a = a.valueOf();
            a = a - dadd * 24 * 60 * 60 * 1000;
            a = new Date(a);
            return a.getFullYear()   "-"   (a.getMonth()   1)   "-"   a.getDate();
        }
        //日期加上天數(shù)后的新日期.
        function demo4_AddDays(date, days) {
            var nd = new Date(date);
            nd = nd.valueOf();
            nd = nd   days * 24 * 60 * 60 * 1000;
            nd = new Date(nd);
            //alert(nd.getFullYear()   "年"   (nd.getMonth()   1)   "月"   nd.getDate()   "日");
            var y = nd.getFullYear();
            var m = nd.getMonth()   1;
            var d = nd.getDate();
            if (m <= 9) m = "0"   m;
            if (d <= 9) d = "0"   d;
            var cdate = y   "-"   m   "-"   d;
            return cdate;
        }
        // 這里不得不做補(bǔ)充,浪費(fèi)好多時(shí)間得出教訓(xùn):
        // Javascript 對(duì)時(shí)間的代號(hào) 
        // 0-11數(shù)字表示1-12月: var a= new Date(2006,5,6) 結(jié)果是2006-6-6
        // 0-6表示星期
        // 1-31表示日期
        // 0-23小時(shí)
        // 0-59分鐘,秒


        //兩個(gè)日期的差值(d1 - d2).
        function demo4_DateDiff(d1, d2) {
            var day = 24 * 60 * 60 * 1000;
            try {
                var dateArr = d1.split("-");
                var checkDate = new Date();
                checkDate.setFullYear(dateArr[0], dateArr[1] - 1, dateArr[2]);
                var checkTime = checkDate.getTime();

                var dateArr2 = d2.split("-");
                var checkDate2 = new Date();
                checkDate2.setFullYear(dateArr2[0], dateArr2[1] - 1, dateArr2[2]);
                var checkTime2 = checkDate2.getTime();

                var cha = (checkTime - checkTime2) / day;
                return cha;
            } catch (e) {
                return false;
            }
        }//end fun


        //作者推薦
      var Hot=function(){ 
          var ks='2021-1-1 12:10:10';
          var js='2021-2-1 13:13:13';
          let data=TimeDifference(ks,js);
            $("#hot_ks").html(ks);
            $("#hot_js").html(js);
            $("#hot_sjc").html(data.Milliseconds);
            $("#hot_xcts").html(data.days.days);
            $("#hot_xss").html(data.days.hours);
            $("#hot_fzs").html(data.days.minutes);
            $("#hot_ms").html(data.days.seconds);
            $("#hot_jg").html(" 相差 "   data.days.days   "天 "   data.days.hours   "小時(shí) "   data.days.minutes   " 分鐘"   data.days.seconds   " 秒");
      }; 
      Hot();

        //作者推薦
        function TimeDifference(d1, d2) {  
            var date1 = new Date(d1);   //開(kāi)始時(shí)間  
            var date2 = new Date(d2);    //結(jié)束時(shí)間  
            var Milliseconds = date2.getTime() - new Date(date1).getTime();   //時(shí)間差的毫秒數(shù)        

            //------------------------------  

            //計(jì)算出相差天數(shù)  
            var days = Math.floor(Milliseconds / (24 * 3600 * 1000))

            //計(jì)算出小時(shí)數(shù)   
            var leave1 = Milliseconds % (24 * 3600 * 1000)    //計(jì)算天數(shù)后剩余的毫秒數(shù)  
            var hours = Math.floor(leave1 / (3600 * 1000))
            //計(jì)算相差分鐘數(shù)  
            var leave2 = leave1 % (3600 * 1000)        //計(jì)算小時(shí)數(shù)后剩余的毫秒數(shù)  
            var minutes = Math.floor(leave2 / (60 * 1000))
            //計(jì)算相差秒數(shù)  
            var leave3 = leave2 % (60 * 1000)      //計(jì)算分鐘數(shù)后剩余的毫秒數(shù)  
            var seconds = Math.round(leave3 / 1000)


            var ResultJson = {
                days: {
                    days: days >= 0 ? days : days   1,
                    hours: hours >= 0 ? hours: hours   1,
                    minutes: minutes >= 0 ? minutes : minutes   1,
                    seconds: seconds >= 0 ? seconds: seconds   1
                },
                Milliseconds: Milliseconds
            }; 
            return ResultJson;
        }
    </script>
</body>

</html>
來(lái)源:https://www./content-4-831701.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多