6.4.4 将日期转化为字符串
Date对象提供如toGMTString()、toLocalString()等方法将日期转换为字符串,而不需要开发人员编写专门的函数实现该功能。考察如下代码:
| //源程序6.21 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Sample Page!</title> <script language="JavaScript" type="text/javascript"> <!-- function MyTest() { var MyDate=new Date(); var msg="日期转化为字符串实例 : \n\n"; msg+="本地日期toString() : "+MyDate.toString()+"\n"; msg+="本地日期toLocalString() : "+MyDate.toLocaleString()+"\n"; msg+="GMT世界时间toGMTString() : "+MyDate.toGMTString()+"\n"; msg+="UTC世界时间toUTCString() : "+MyDate.toUTCString()+"\n"; alert(msg); } --> </script> </head> <body> <br> <center> <form name=MyForm> <input type=button value=日期测试 onclick="MyTest()"> </form> </center> </body> </html> |

图6.27 日期转化为字符串实例
从程序结果可以看出,toString()和toLocaleString()方法返回表示客户端日期和时间的字符串,但格式大不相同。实际上,toLocaleString()方法返回字符串的格式由客户设置的日期和时间格式决定,而toString()方法返回的字符串遵循以下格式:
| Fri Aug 3 22:49:00 UTC+0800 2007 |
同样,Date对象提供了parse()方法来将特定格式的字符串转化为毫秒数(目标日期与GMT标准零点的间隔),后者可根据前面讲述的生成日期对象的第二种方法来生成表示该日期的Date对象,parse()方法的语法如下:
| date.parse(date); |
| Fri,3 August 2007 14:49:00 UTC |
| 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); |

图6.28 字符串转化为时间实例
在老版本的浏览器中,toUTCString()方法和toGMTString()方法返回的字符串不同,parse()方法只能识别toGMTString()方法返回的字符串(也可接受缺失所有或部分时间或时区部分的字符串)。由于UTC世界时间取代GMT世界时间(实际上两者在某种意义上等同)成为世界时间标准,目前上述两种方法产生的字符串(或其子串)都可作为parse()方法的参数传入以实现生成新的日期对象等功能。

RSS订阅






