为什么Date.parse不返回Date对象?

Pro*_*ofK 15 javascript

today1 = new Date();
today2 = Date.parse("2008-28-10");
Run Code Online (Sandbox Code Playgroud)

要比较这些的时间(毫秒)值,我必须执行以下操作,因为today2只是一个数字.

if (today1.getTime() == today2)
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

Tom*_*lak 32

要回答标题中的问题:因为他们在创建JavaScript语言时就这么做了.可能是因为Java的java.util.Date解析函数做了同样的事情,并且他们想模仿它的行为以使语言更熟悉.

要回答文本中的问题...使用此构造来获取两个日期对象:

var today2 = new Date(Date.parse("2008-10-28"));
Run Code Online (Sandbox Code Playgroud)

编辑:一个简单的

var today2 = new Date("2008-10-28");
Run Code Online (Sandbox Code Playgroud)

也有效.

请注意,Internet Explorer(即JScript)不了解日期字符串中的破折号.它适用于斜杠,但:

var today2 = new Date("2008/10/28");
Run Code Online (Sandbox Code Playgroud)

  • @Derek:是的.这是唯一具有任何意义的日期符号. (4认同)