JavaScript基础语法--倒计时案例

发布于:2023-02-17 ⋅ 阅读:(427) ⋅ 点赞:(0)

案例分析:

1.核心算法:输入时间(inputTime)-现在时间(nowTime) =剩余时间(times),即倒计时,但是不能拿着时分秒相减,比如05分减去25分--结果会成负数。

2.用时间戳来做。用户输入时间总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数。(时间戳时间的单位都是:毫秒数)

故若要转换/1000——>转化成秒

3.相减后得到的剩余时间毫秒数通过算法转换成天、时、分、秒(时间戳转化成时分秒)

        转换公式如下:

                d = parseInt(总秒数/60/60/24);  //天数

                h = parseInt(总秒数/60/60%24);  //时

                m = parseInt(总秒数/60%60);    //分

                s = parseInt(总秒数%60);          //秒

 

代码实现: 

<script>
function countDown(time){
    var nowTime = +new Date();
    var inputTime = +new Date(time);
    var times = (inputTime-nowTime)/1000;      //输出时间-现在时间==时间戳相减等毫秒,故/1000
    var d = parseInt(times/60/60/24);  //天
    d = d < 10 ? '0'+d :d;
    var h = parseInt(times/60/60%24);  //时
    h = h < 10 ? '0'+h :h;
    var m = parseInt(times/60%60);     //分
    m = m < 10 ? '0'+m :m;
    var s = parseInt(times%60);        //秒
    s = s < 10 ? '0'+s :s;
    return d +'天'+ h +'时'+m+'分'+s+'秒';
    }
    console.log(countDown('2022-7-22 19:56:05'));
</script>

补充:标准格式化输出当前时间

        var date = new Date();
        console.log(date);

 

 


网站公告

今日签到

点亮在社区的每一天
去签到