+发表新主题
查看: 1655|回复: 0

[代码片段] js Date对象

[复制链接]

[代码片段] js Date对象

[复制链接]
小希 发表于 2015-12-30 21:14:11 浏览:  1655 回复:  0 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一. Date: 封装一个1970年元旦至今的毫秒数,提供了对时间操作的方法

        js中的Date对象里封装的是一个巨大的毫秒数

        从197011000秒到当前时间的毫秒差


     创建对象:4种:

      1. 创建一个日期对象,同时保存当前时间

               var now=new Date();

          210932xe3muz9zrb21g8b1.png

      2. 自定义任意时间:

         var date=new Date("xxxx/xx/xx xx:xx:xx");

        例如:

       var date=new Date("2015/02/01");

       console.log(date);

                      210932xe3muz9zrb21g8b1.png

      3. 自定义任意时间:

         var date=new Date(xxxx,xx,xx,xx,xx,xx);

        注意:现实的月份-1=计算机中的月份

   

      4. var date1=new Date("xxxx/xx/xx");

       var date2=new Date(date1.getTime());//取出date1的毫秒数

         

         问题:所有日期的set操作都直接修改原日期对象,一旦计算完,旧日期被覆盖

         解决:在计算前,先复制日期对象的一个副本,再计算


         DateAPI

                       分量:

              年 :FullYear  , 4位年

              月 :Month  

              日 ate

              星期ay

              时 : Hours

              分 : Minutes

              秒: Seconds

              毫秒:Milliseconds


                       

        1. 每个分量都有一对儿get/set方法

                       get方法用来获得分量的值

             set方法用来设置分量的值

                                 set方法自动调整进制!

                         比如:获得今天几号: date.getDate();  //月中的日


              设置日期的月份为4: date.setMonth(3);

              注意:星期没有set方法。

        2. 月 日 星期 不带s结尾,

             时 分 秒 毫秒 带s结尾,

        3. 返回值:只有Date:131结束

                其余都是从0开始,到进制-1结束

                只有Month需要修正

                   比如:月份:1,2,3....11,12

                           0,1,2....10,11

                 星期:日,,,.....

                          0  1 2  6

                小时:0 1 2 3 4 ....23

                分钟:0 1 2.........59


     Date计算:

       1. 两日期对象可直接相减,结果时毫秒差!


       2. 对每个分量做加减:get分量值,做加减,set回去

            一步概括:date.setXXX(date.getXXX()+/-n);


     

  1. //计算时间

  2.      var hiredate=new Date("2008/08/08");

  3. var enddate=new Date(hiredate.getTime());

  4. //3年有效期:+3年

  5. var year=enddate.getFullYear();

  6. year+=3;

  7.     enddate.setFullYear(year);

  8. console.log("到期时间:"

  9. +enddate.toLocaleDateString());
复制代码
210932xe3muz9zrb21g8b1.png









回复

使用道具 举报


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 赣南网

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4

用微信扫一扫

赣南网