发条木偶

乐趣为王

导航

javascript的Date问题

我是在用javascript生成Unix时间戳的时候发现的问题。
你可以在c:\创建一个test.js文件,然后把下面的代码粘贴进去,然后在命令行直接执行c:\test.js:
 
theDate=new Date("January 1, 1970 8:00");
WScript.Echo(theDate);
WScript.Echo(Date.parse(theDate));
secondDate=new Date(1969,12,1,8,0,0,0);
WScript.Echo(secondDate);
WScript.Echo(Date.parse(secondDate));
thirdDate=new Date(1970,1,1,8,0,0,0);
WScript.Echo(thirdDate);
WScript.Echo(Date.parse(thirdDate));
 
代码说明:这段代码是使用js的Date对象的两个构造函数构造了三个Date对象。第一个Date对象和第三个Date对象以不同的构造方式创建了同一个时间。第二和第三个Date对象使用相同的构造函数创建了不同的时间。
 
但是结果是:
Thu Jan 1 08:00:00 UTC+0800 1970
0
Thu Jan 1 08:00:00 UTC+0800 1970
0
Thu Jan 1 08:00:00 UTC+0800 1970
2678400000
 
 
这明显是矛盾的。我怀疑这是一个js解释器的问题。另外Date的UTC方法也有类似的问题。

posted on 2007-01-17 17:45  发条木偶  阅读(1083)  评论(4编辑  收藏  举报