Date 对象提供如toGMTString()、toLocalString()等方法将日期转换为字符串,而不需要开发人员编写专门的函数实现该功能。
考察如下代码:[code]<! DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0//EN”
“http://www.w3.org/TR/REC-html140/strict.dtd”>
[/code]程序运行结果如图所示。
从程序结果可以看出,toString()和toLocaleString()方法返回表示客户端日期和时间的字符串,但格式大不相同。
实际上,toLocaleString()方法返回字符串的格式由客户设置的日期和时间格式决定,而toString()方法返回的字符串遵循以下格式:Fri Aug 3 22:49:00 UTC+0800 2007
由于目前UTC 已经取代GMT 作为新的世界时间标准,后面两种将日期转化为字符串的方法toGMTString()和toUTCString()返回的字符串格式、内容均相同。
同样,Date 对象提供了parse()方法来将特定格式的字符串转化为毫秒数(目标日期与GMT 标准零点的间隔),后者可根据前面讲述的生成日期对象的第二种方法来生成表示该日期的Date 对象,parse()方法的语法如下:date.parse(date);
此方法与参数指定的对象而不是对象中的日期相联系,唯一的参数date 应是使用Date 对象的toGMTString()方法生成的字符串格式:Fri,3 August 2007 14:49:00 UTC
如果作为参数传入的表示日期的字符串不被parse()方法认可,则date.parse()方法返回NaN 值。
考察如下代码:var MyDate=new Date();
var msg="字符串转化为时间实例 : \n\n";
msg+="转化为GMT 世界时间的字符串 : \n"+MyDate.toGMTString()+"\n\n";
msg+="Date.parse(s1)方法返回毫秒数 : \n"+Date.parse(MyDate.toGMTString())+"ms\n\n";
var newDate=new Date(Date.parse(MyDate.toGMTString()));
msg+="通过返回的毫秒数生成的日期 : \n"+newDate.toString()+"\n\n";
var str="Friday,2002";
msg+="传入字符串str : \n "+str+"\n\n";
msg+="Date.parse(str)方法返回 : \n "+Date.parse(str)+"\n\n";
alert(msg);
在老版本的浏览器中,toUTCString()方法和toGMTString()方法返回的字符串不同,parse() 方法只能识别toGMTString()方法返回的字符串(也可接受缺失所有或部分时间或时区部分的字符串)。
由于UTC 世界时间取代GMT 世界时间(实际上两者在某种意义上等同)成为世界时间标准,目前上述两种方法产生的字符串(或其子串)都可作为parse()方法的参数传入以实现生成新的日期对象等功能。