JavaScript高级编程学习6——Date

      ECMAScript和Java一样,是把日期存储为距离UTC格林尼治标准时间(1970年1月1日凌晨12点)的毫秒数(还会加上相应的时差)。var date=new Date();这样是用当前的日期和时间创建日期对象。如果我们想创建某个特定日期的对象则有两种方法。

      1.声明距离UTC标准时间的毫秒数。var date=new Date(0);

      2.利用prase方法将字符串表示为时间。然后传递给Date的构造函数,其实就是利用到了上面的方法,因为prase获取到的也是距离UTC时间毫秒数。注意这个方法都是Date的静态方法,因此必须通过Date来调用,而不是通过其实例对象来调用。注意Date.prase使用的参数是的短日期的格式。建议采用的是 yyyy/mm/dd或者mm/dd/yyyy的形式。在不同的浏览器下面会有不同的规则。这一点还要做仔细的研究!!!

         var date=new Date(Date.prase('1988/02/22')) ;//使用prase来声明某个特定日期的时间对象。这个创建出来的就是本地的时间。

      3.利用UTC方法,UTC返回的也是时间的毫秒数,但是其接受的参数是不同的。其接受的参数是日期中的:年,月,日,时,分,秒,毫秒。其中年月是必须的参数,其他参数可选。还有一点需要注意,就是月是从0到11,0表示一月,1表示二月,以此类推,而时间还是使用24小时制。 

      var date = new Date(Date.UTC(1988, 1, 22, 15));//这里显示是1988年2月22日 23:00:00      

      var date = new Date(Date.UTC(1988, 1, 22, 16));//这里显示的是1988年2月23日 00:00:00   这说明这是在UTC时间后在加上时差,难道每次我们创建一个时间都要注意时差,因为使用UTC创建出来的是UTC标准时间,还要加上时差。

       4.Date的输出。其中比较重要的是三个方法。toLocalDateString,toLoacalString,toLocalTimeString. 

View Code
1 var date = new Date(Date.parse('1988/02/22'));
2 document.write('toDateString:' + date.toDateString());
3 document.write('<br>');
4 document.write('toGMTString:' + date.toGMTString());
5 document.write('<br>');
6 document.write('toLocaleDateString:' + date.toLocaleDateString());
7 document.write('<br>');
8 document.write('toLocaleString:' + date.toLocaleString());
9 document.write('<br>');
10 document.write('toLocaleTimeString:' + date.toLocaleTimeString());
11 document.write('<br>');
12 document.write('toString:'+date.toString());
13 document.write('<br>');
14 document.write('toTimeString:' + date.toTimeString());
15 document.write('<br>');
16 document.write('toUTCString:' + date.toUTCString());

输出:

toDateString:Mon Feb 22 1988
toGMTString:Sun, 21 Feb 1988 16:00:00 UTC
toLocaleDateString:1988年2月22日
toLocaleString:1988年2月22日 0:00:00
toLocaleTimeString:0:00:00
toString:Mon Feb 22 00:00:00 UTC+0800 1988
toTimeString:00:00:00 UTC+0800
toUTCString:Sun, 21 Feb 1988 16:00:00 UTC
posted @ 2011-03-15 13:52  雁北飞  阅读(248)  评论(0编辑  收藏  举报