• 时间对象和倒计时


    一、时间对象

      1、在写一些东西的时候,经常需要获取 “当前系统的时间对象”

          2、要创建一个时间对象,使用new操作符和Date构造函数new Date();

          3、返回值:返回表示日期的毫秒数

          4、在调用Date构造函数而不传递参数的情况下,新创建的对象自动获取当前日期和时间

          5、如果想根据特定的日期和时间创建日期对象,必须要传入参数,ECMAScript提供了两个方法:

           (1) Date.parse()方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日期的毫秒数。如果传入Date.parse()方法的字符串不能表示日期,那么它会返回NaN.

               如果直接把将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse()。换句话说,下面的两行代码是等价的:
               var t = new Date(Date.parse('December 28,2015'));
               var t = new Date('December 28,2015');

           (2) Date.UTC()方法同样也返回表示当前日期的毫秒数。

               参数中,只有前两个参数(年和月)必须的,如果没有提供代表月份的参数,则默认为1;如果其余参数(时、分、秒)都没提供,则默认为0,也就是午夜零时 。

               下面的两行代码也是等价的:
               var t = new Date(Date.UTC(2015,11,28,15,29,30));   //(注意:月份是基于0开始的,一月是0,二月是1... 以此类推)
               var t = new Date(2015,11,28,15,29,30);             // 注意:这里是将表示日期的参数直接传递给Date构造函数里,但这行代码是基于系统设置的本地时区创建的

       6、如果你想获取到其他的一些信息:(以下所有的 typeof 都是 number数据类型,因此得到的结果都是数字

        var iYear = myTime.getFullYear();                //  年

        var iMonth = myTime.getMonth()+1;          //  月    注意:getMonth 的一月份是从零开始计算的,因此必须要在后面加1才会准确。

        var iDate = myTime.getDate();                  //  日

        var iWeek = myTime.getDay();                 //  星期      // 0,1,2,3,4,5,6

          注意:因此数据类型是number,所以星期一显示出来的是数字1,星期二是数字2,依次类推.... 而星期日显示的则是数字0;

        var iHours = myTime.getHours();            //  小时

        var iMin = myTime.getMinutes();           //  分钟

        var iSec = myTime.getSeconds();          //  秒

      7、 对于星期来说,要做一个判断,让0等于星期日,让数字都变成'星期几'的文字;

        if(iWeek===0)iWeek='星期日';

        if(iWeek===1)iWeek='星期一';

        if(iWeek===2)iWeek='星期二';

        if(iWeek===3)iWeek='星期三';

        if(iWeek===4)iWeek='星期四';

        if(iWeek===5)iWeek='星期五';

        if(iWeek===6)iWeek='星期六';

    二、定时器:在某一定的时间之内发生一件事,就是定时器(具有时间的概念)。

      var timer = setInterval( 函数、毫秒 );        // 在规定的时间内重复执行

      clearInterval( timer );                                 // 清除

     

      var timer = setTimerout( 函数、毫秒);      // 在规定的时间后只执行一次

      clearTimeout(timer);                                  // 清除

    三、倒计时

      1、首先要明白什么的倒计时,未来的时间点(不变的)和 现在的时间点(可变的)的差

        var iNow = new Date();

        // 如果说想找到未来的时间点,new Date 的括号里是可以放参数的,设置一个未来的时间点

        // 参数分为两种形式: (数字形式和字符串形式,两者选一)

          1、数字形式:new Date(2015,11,24,15,40,30)      // 这里要记住月份是从0开始的,所以如果这月是12月份的话,写的时候要写成11月

        var iNew = new Date(2015,11,24,15,40,30); 

          2、字符串形式:new Date( 'December 24,2015 15:40:30' )  

        var iNew = new Date( 'December 24,2015 15:40:30' ); 

        月份的英文单词(January、February、March、April、May、June、July、August、September、October、November、December)

        // 求出未来时间点和现在时间点的差:

        var t = Math.floor(iNew-iNow)/1000;      

        注意: iNew-iNow相减之后是以毫秒为单位的,因此要除以1000,改为以秒为单位;

           这里是不能有小数点的存在,所以要用到向下取整Math.floor;

      2、公式:

        倒计时要用到时分秒:1分钟=60秒,1小时=3600秒,1天=86400秒;

        按照以秒来计算的话:

        天:Math.floor(t/86400);

        时:Math.floor(t/86400/3600);

        分:Math.floor(t/86400%3600/60);

        秒:t%60; 

      3、用字符串拼接起来:

        var str = Math.floor(t/86400) + '天' + Math.floor(t/86400/3600) + '时' + Math.floor(t/86400%3600/60) + '分' + t%60 + '秒';

  • 相关阅读:
    2019.1.10英语笔记
    2019.1.9专业课笔记
    团队触发器
    团队脚本备份
    导表
    oslo.config
    nginx启动、重启、关闭
    常见的awk内建变量
    LVM
    Django, one-to-many, many-to-many
  • 原文地址:https://www.cnblogs.com/effieduo/p/5065038.html
Copyright © 2020-2023  润新知