Date类详解

Date

以前看书发现书上也有好多不对的地方,且方法比较多,现总结如下,如有不合理之处请予以指正。

说明:

1.ECMAScript把日期存储为距离UTC时间1970年1月1日凌晨12点的毫秒数。

2.UTC      UniversalTIme Code 即世界标准时间或世界协调时间。

3.GMT      GreenwichMean Time 即格林尼治标准时间

方法:

备注:

1.  以下示例结果中的值为在火狐中测试结果。

2.  在IE中显示的为UTC,其中toString方法显示结果为Tue Oct 26 21:08:08 UTC+0800 2010。

3.  safari、谷歌、opera浏览器显示为英文,且与其它浏览器有差别(在显示方式上)。

var nowTime = new Date();

方法

示例结果

getTimezoneOffset()

-480

该方法说明某个时区与UTC时间的关系,改方法返回当前时区比UTC提前或落后的分钟数(这里-480表示比UTC时间提前8个小时)

toString()

Tue Oct 26 2010 20:33:48 GMT+0800

toTimeString()

20:33:48 GMT+0800

toDateString()

Tue Oct 26 2010

toGMTString()

Tue, 26 Oct 2010 12:33:48 GMT

toUTCString()

Tue, 26 Oct 2010 12:33:48 GMT

toLocaleString()

2010年10月26日 星期二 20:33:48

toLocaleDateString()

2010年10月26日 星期二

toLocaleTimeString()

20:33:48

 

var nowTime = new Date();

这行代码用当前的日期和时间创建新的Date对象。创建新的Date对象时,可以以两种方式设置

日期和时间的值。第一种方法是,只声明距离1970年1月1日凌晨12点的毫秒数:

/**

     * 年、月、日、小时、分、秒和毫秒第一种方法,只声明距离只声明距离

     * 1970年1月1日凌晨12点的毫秒数

     */

    var zxh = new Date(3600);

//  alert(zxh);

 

还有parse()和UTC()两种静态方法可以创建Date对象的方法一起使用:

    /**

     * parse()方法

     * 如果为2011年5月25日创建date对象,可以使用parse()方法获得它的毫秒表示,

     * 然后将改值传递给Date构造函数。parse 方法是 Date 对象的一个静态方法。

     */

    varwuhui = new Date(Date.parse("May25,2011"));

//  alert(wuhui);//这里弹出之和 alert(wuhui.toString()); 值一样

 

    /**

     * UTC()方法

     * UTC()方法返回的也是日期的毫秒表示,但是参数不同,是日期中的

     * 年、月、日、小时、分、秒和毫秒使用该方法时,必须声明年和月,

     * 其它参数可选。设置月份的值应为0——11

     */

    vardxk = new Date(Date.UTC(2011,1,12));

//  alert(dxk);

 

创建日期的第二种方法是直接声明UTC方法接受的参数:

    /**

     * 第二种方法是直接声明UTC方法接受的参数

     */

    var d = new Date(2010, 1, 10);

//  alert(d);

 

    /**

     * getTimeZoneOffset()方法

     * 该方法说明某个时区与UTC时间的关系,改方法返回当前时区比UTC提前或落后

     * 的分钟数(这里-480表示比UTC时间提前8个小时)

     */

    vard1 = nowTime.getTimezoneOffset();

//  alert(d1);

 

Date类其余的方法如下:(均用于设置或获取日期值的某部分)

说明:

1.var nowTime = new Date();(测试时间2010年10月27日星期三)

2.这些方法中含有UTC的方法省略,其中每个方法都对应一个含UTC的方法,

均表示把该日期转换为UTC日期得到的值。

3.这些方法中所有的参数均为number类型,可为负值或大于某个值,如月份可设为

0、-25、25等,这些参数均可以累记,比如月份大于11的时候记到年份上。

4.这些方法的返回值均为number类型。

方法

示例结果

说明

getTime()

1288144027456

返回日期的毫秒数表示

setTime(timeValue)

 

 

getYear()

110

以1900年为基点,当日期小于1900年时返回值为负

setYear(yearValue)

setYear(0)
设置为1900年;

setYear(96)
设置为1996年;

setYear(1996)
设置为1996年;

setYear(2012)
设置为2012年;

getFullYear()

2010

返回用四位数表示的日期的年份值

setFullYear(yearValue, monthValue, dateValue)

 

设置日期的年份值,参数必须是四位数字的年份值。

getMonth()

9

返回日期的月份值,0——11

setMonth(monthValue, dateValue)

 

 

getDate()

27

返回该日期该月中的某天的值

setDate(dateValue)

 

 

getDay()

注:不存在setDay()和setUTCDay()方法

3

返回该日期的星期几。

getHours()

10

返回该日期中的小时的值

setHours(hoursValue, minutesValue, secondsValue, msValue)

setHours(25,10,15)
把该时间设置为Thu Oct 28 2010 01:10:15

 

getUTCHours()

2

返回该UTC日期中的小时的值

getMinutes()

 

返回该日期中的分钟值

setMinutes(minutesValue, secondsValue, msValue)

 

 

getSeconds()

10

返回该日期中的秒值

setSeconds(secondsValue, msValue)

 

 

getMilliseconds()

20

返回日期中的毫秒值

setMilliseconds(msValue)

 

 

 

posted @ 2010-10-27 11:47  1024114660  阅读(164)  评论(0)    收藏  举报