JavaScript 生成日期对象的实例

Date 对象的构造函数通过可选的参数,可生成表示过去、现在和将来的Date 对象。

其构造方式有四种,分别如下:var MyDate=new Date(); var MyDate=new Date(milliseconds); var MyDate=new Date(string); var MyDate=new Date(year,month,day,hours,minutes,seconds,milliseconds);第一句生成一个空的Date 对象实例MyDate,可在后续操作中通过Date 对象提供的诸多方法来设定其时间,如果不设定则代表客户端当前日期;

在第二句的构造函数中传入唯一参数milliseconds,表示构造与GMT标准零点相距milliseconds毫秒的Date 对象实例MyDate;

第三句构造一个用参数string 指定的Date 对象实例MyDate,其中string 为表示期望日期的字符串,符合特定的格式;

第四句通过具体的日期属性,如year、month 等构造指定的Date对象实例MyDate。

考察如下的代码:[code]<! DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0//EN”
http://www.w3.org/TR/REC-html140/strict.dtd”>

Sample Page!
[/code]程序运行结果如图所示。

该程序分为几步:
(1)通过第四种构造方式构造代表2007 年9 月1 日17 点8 分20 秒100 毫秒的Date 对象实例MyDate4;
(2)通过第一种构造方式构造空的Date 对象实例MyDate1,并通过对象拷贝的方法,将MyDate4 复制到MyDate1;
(3)通过Date 对象的getTime()方法返回MyDate4 表示的时间与GMT 标准零点之间的毫秒数,然后将此毫秒数作为参数通过第二种构造方式构造Date 对象实例MyDate2;
(4)通过Date 对象的toString()方法返回表示Date 对象实例MyDate4 代表的时间的字符串,然后将此字符串作为参数通过第三种构造方式构造Date 对象实例MyDate3。
通过程序结果可知,上述四种构造 Date 对象实例的方式都能构造同样的日期对象。

但上述的四种构造方法都是以当地时间创建新日期,JavaScript 提供了UTC()方法按世界时间创建日期,语法如下:date.UTC(year,month,day,hours,minutes,seconds,millseconds);UTC()方法的参数意义与上述的第四种方法完全相同,只不过构建的对象基于UTC 世界时间而已,如下的代码显示两者的不同之处:var MyDate=new Date(); msg+="本地时间:"+MyDate.toString()+"\n"; msg+="世界标准时间:"+MyDate.toUTCString(); document.write(msg);上述代码的运行后,返回:

本地时间:Fri Aug 3 21:21:43 UTC+0800 2007

世界标准时间:Fri, 3 Aug 2007 13:21:43 UTC

可以看出两者之间的差异,本地时间(东8 区:北京时间)与UTC 世界标准时间之间相差8 小时,且输出字符串格式不同。

注意:欧美时间制中,星期及月份数都从 0 开始计数。如星期中第0 天为Sunday,第7 天为Saturday;月份中的第0 月为January,第11 月为December。

但月的天数从1 开始计数。