zoukankan      html  css  js  c++  java
  • JS结束时间与当前时间间隔

    实现内容:

    1、时间戳 1587024986952 转成年月日时分秒 2020-04-16 16:16:46
    
    2、当前时间new Date()转成年月日时分秒2019-04-17 10:27:27
    
    32020-5-16 17:00:00与当前时间new Date()比较时间差
    
    42020-5-16 17:00:002020-04-16 16:21:53 的时间差

    效果:

    代码1:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>1、JS结束时间与当前时间间隔</title>
    </head>
    <body>
    <div class='divClass' id='timeCont'>
        <p>当前时间   <span id='nowTime'></span></p>
        <p>结束时间   <span  id='end'></span></p>
        <p style='background:#f00; 300px;line-height: 2rem;'>相差时间   <span  id='interval'></span></p>
    </div>
    <script>
        //1、当前时间new Date()转成年月日时分秒2019-04-17 10:27:27
        
        function time(now){
            var yy = now.getFullYear(); //
            var mm = now.getMonth() + 1; //
            var dd = now.getDate(); //
            var hh = now.getHours(); //
            var ii = now.getMinutes(); //
            var ss = now.getSeconds(); //
            var time = yy + "-";
            if (mm < 10) time += "0";
            time += mm + "-";
            if (dd < 10) time += "0";
            time += dd + " ";
            if (hh < 10) time += "0";
            time += hh + ":";
            if (ii < 10) time += '0';
            time += ii + ":";
            if (ss < 10) time += '0';
            time += ss;
            return time;
        }
        setInterval(function(){
            var nowTime =  time(new Date())
            var end_time = '2020-5-16 17:00:00';
            document.querySelector('#nowTime').innerHTML = nowTime;
            document.querySelector('#end').innerHTML = end_time;
            document.querySelector('#interval').innerHTML = timeDown(end_time);
        },1000)
    
        // 2、结束时间2020-5-16 17:00:00与当前时间new Date()比较时间差
        function timeDown(endDateStr) {
                //结束时间
                var endDate = new Date(endDateStr);
                //当前时间
                var nowDate = new Date();
                //相差的总秒数
                var totalSeconds = parseInt((endDate - nowDate) / 1000);
                //天数
                var days = Math.floor(totalSeconds / (60 * 60 * 24));
                //取模(余数)
                var modulo = totalSeconds % (60 * 60 * 24);
                //小时数
                var hours = Math.floor(modulo / (60 * 60));
                modulo = modulo % (60 * 60);
                //分钟
                var minutes = Math.floor(modulo / 60);
                //
                var seconds = modulo % 60;
                //输出到页面
                this.timeCon=days + "" + hours + " 小时 " + minutes + "" + seconds + "";
                return this.timeCon;
        }
        
    
    </script>
    </body>
    </html>

    代码二:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>2、JS结束时间与当前时间间隔</title>
    </head>
    <body>
    <div class='divClass' id='timeCont'>
        <p>当前时间   <span id='nowTime'></span></p>
        <p>结束时间   <span  id='end'></span></p>
        <p style='background:#f00; 300px;line-height: 2rem;'>相差时间   <span  id='interval'></span></p>
    </div>
    <script>
        //1、时间戳 1587024986952 转成年月日时分秒 2020-04-16 16:16:46
        function timestampToTime(timestamp) {
            var date = new Date();//时间戳为10位需*1000,时间戳为13位的话不需乘1000
            var Y = date.getFullYear() + '-';
            var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
            var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
            var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
            var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
            var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
            strDate = Y+M+D+h+m+s;
            return strDate;
        };
        // 2020-5-16 17:00:00 与 2020-04-16 16:21:53 的时间差
        function timeInterval(endTime,startTime){
            var time1=startTime.replace(new RegExp(/-/gm) ,"/"); 
            var time2=endTime.replace(new RegExp(/-/gm) ,"/");
            var stime=new Date(time1).getTime();
            var etime = new Date(time2).getTime();
            var usedTime = etime - stime;
            var days=Math.floor(usedTime/(24*3600*1000));   
            var leave1=usedTime%(24*3600*1000);
            var hours=Math.floor(leave1/(3600*1000))+'';
            hours= hours.length==1 ? '0'+hours:hours;
            var leave2=leave1%(3600*1000);
            var minutes=Math.floor(leave2/(60*1000))+'';
            minutes= minutes.length==1 ? '0'+minutes:minutes;
            var leave3=leave2%(60*1000);
            var seconds=(Math.round(leave3/1000))+'';
            seconds= seconds.length==1 ? '0'+seconds:seconds;
            var time = days + ""+hours+""+minutes+""+seconds+'';
            return time;
        }
        setInterval(function(){
            var end_time = '2020-5-16 17:00:00';
            var nowTime=self.timestampToTime( new Date().getTime());     //2020-04-16 16:21:53
            document.querySelector('#nowTime').innerHTML = nowTime;
            document.querySelector('#end').innerHTML = end_time;
            document.querySelector('#interval').innerHTML = self.timeInterval(end_time,nowTime);
        },1000)
        
    
    </script>
    </body>
    </html>
  • 相关阅读:
    电信生命周期说明
    find in linux 2 微信公众号
    GDB中应该知道的几个调试方法 2 微信公众号
    linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: rg), 且有vim插件的 2 微信公众号
    linux下的 c 和 c++ 开发工具及linux内核开发工具 2 微信公众号
    linux下命令行发送邮件的软件:mutt 微信公众号
    腺样体肿大的综合治疗考虑 微信公众号
    打呼噜治疗方法 微信公众号
    vim 操作 2 微信公众号
    nginx之外的web 服务器caddy 微信公众号
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/12713782.html
Copyright © 2011-2022 走看看