用js写倒计时案例(初学)

  1. 核心算法:输入的时间减去现在的时间即是剩余的时间,即为倒计时,但是不能拿着时分秒相减,如05分—25分,这样结果会是负数的
  2. 所以用时间戳来做。即用户输入时间总的毫秒数—现在时间总的毫秒数,得到的就是剩余时间的毫秒数。
  3. 再将剩余时间的毫秒数(将毫秒数/1000后用公式)转换为天、时、分、秒(即时间戳转换时分秒)
    转换公式:
    d = parseInt(总秒数/60/60/24)     →天数
    d = parseInt(总秒数/60/60%24)   →小时
    (因为前面天数d已经取了,所以这里取24的余数就是得到天数之后的零散小时数)
    (下面的同理)
    d = parseInt(总秒数/60%60)     →分数
    d = parseInt(总秒数%60)            →秒数
 function countDown(time) {
            var nowTime = +new Date(); //Date()内无参数 指当前时间的总毫秒数
            var inputTime = +new Date(time);//返回用户输入时间的总毫秒数
            var times = (inputTime - nowTime) / 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('2021-8-18 20:11:00'));
  var date = new Date();
  console.log(date);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值