倒计时算法(计算剩余多少天)实现

919 阅读1分钟

一.使用时间对象的getTime()方法获取所有的毫秒数

二.将指定时间的毫秒数和当前时间的毫秒数相减得到中间相差的毫秒数

三.每一天的毫秒数为:1000606024 就是1000毫秒60秒60分24小时等于一天的毫秒数

四.倒过来用总的毫秒数除以一天的毫秒数再使用parseInt方法取整就可以得到整天数

五.相处剩下的我们可以使用取余进行得到

所以采用的计算规则如下:

  ·整天:总的毫秒数 / 一天的毫秒数

  ·小时:(总的毫秒数 / 一个小时的毫秒数) % 24小时(因为整小时部分已经被整天拿走了,相除剩下的就是剩余小时数量,再取余24小时就可以得到剩下多少个小时)

  ·分钟和小时的计算一样,去掉整分钟数,用余下的分钟数 % 60分钟就可以得到剩下的分钟数

  ·秒的计算一样
function getRestTime(){
    var setTime = new Date("2019/9/18 00:00:00");
    var nowTime = new Date();
    var restSec = setTime.getTime() - nowTime.getTime();
    var day = parseInt(restSec / (60*60*24*1000));
    var hour = parseInt(restSec / (60*60*1000) % 24);
    var min = parseInt(restSec / (60*1000) % 60);
    var sec = parseInt(restSec / 1000 % 60);
    return `剩余${day}${hour}${min}${sec}秒`
}