zoukankan      html  css  js  c++  java
  • 关于倒计时的一些小思路。

    倒计时的前提是有一个明确的终结时间,我们可以将当前的时间的时间戳与终结时间的时间戳进行相减,得出来的数据就是中间需要度过的时间,然后利用毫秒、秒、分、时、天、月的进制来计算倒计时。

    1、确认有一个终结的时间,并获取时间戳

    2、由于是倒计时功能,因此,关于时间的属性是会进行变化的,所以用定时器来主使这个变化

    3、在定时器内部获取当前时间,并计算与终结时间的时间差

    4、由于月份是从0开始计算,因此在计算的时候需要进行+1,终结的月份需要再进行-1,因为从当前时间来看,已经不到满月,多出来的时候会计算到天、时等中

    5、利用时间的进制进行计算每个单位的数据

    6、由于会有个位的存在,因此对得到的数据进行补0

    7、利用字符串拼接将其输出

    代码如下:(命名有点乱0.0)

    var ri = setInterval(function () {
      var zhong = new Date("2019-5-1 0:0:0");
      var yun = zhong.getTime();
      var d = new Date();
      var c = d.getTime();
      var cha = yun - c;
      var yue = d.getMonth() + 1;
      var yue1 = zhong.getMonth() + 1 - 1;
      var yuea = yue1 - yue;
      var tian = parseInt(cha / (1000 * 60 * 60 * 24));
      var shi = parseInt(cha / (1000 * 60 * 60) % 24);
      var fen = parseInt(cha / (1000 * 60) % 60);
      var miao = parseInt(cha / (1000) % 60);
      document.body.innerHTML = "<h2 style='text-align:center;'>距离活动结束还有" + p(yuea) + "月" + p(tian) + "天" + p(shi) + "时" + p(fen) + "分" + p(miao) + "秒</h2>";
    }, 1000)
    function p(z) {
      z < 10 ? z = "0" + z : z;
      return z;
    }
  • 相关阅读:
    Triangle
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    [c++]this指针理解
    [oracle]一个最简单的oracle存储过程"proc_helloworld"
    Oracle 的 INSERT ALL和INSERT FIRST
    Linux2.6 内核的 Initrd 机制解析
    /boot/grub/menu.lst详解
  • 原文地址:https://www.cnblogs.com/asablog/p/10659608.html
Copyright © 2011-2022 走看看