javascript中的Date()是如何工作的?

javascript中的Date()是如何工作的?,javascript,Javascript,我试图使用JS中的日期函数解析“NINE/MAR/2008”,如下所示: new Date("NINE/MAR/2008") 这给我的结果是: 2008年3月1日星期六 JS中日期解析的逻辑是什么? < P> < > < >格式:日期>代码>构造函数和日期。规范所支持的解析< /代码>为: 2009年的一个,如2015-04-29,本应是的简化版本,但它们在时区上弄乱了(,但后来不得不在中再次修改),以及 无论哪个Date#toString输出在该JavaScript引擎上(未指定) 大

我试图使用JS中的日期函数解析“NINE/MAR/2008”,如下所示:

new Date("NINE/MAR/2008")
这给我的结果是:

2008年3月1日星期六


JS中日期解析的逻辑是什么?

< P> < <强> > < <强> >格式:<代码>日期>代码>构造函数和<代码>日期。规范所支持的解析< /代码>为:

  • 2009年的一个,如
    2015-04-29
    ,本应是的简化版本,但它们在时区上弄乱了(,但后来不得不在中再次修改),以及

  • 无论哪个
    Date#toString
    输出在该JavaScript引擎上(未指定)

  • 大多数JavaScript引擎还将解析
    mm/dd/yyyy
    (其中所有数字都是数字-总是以美国格式,第一个月),但这不是指定的行为。有些引擎可能解析
    yyyy/mm/dd
    (注意
    /
    而不是
    -
    ),但这也是未定义的行为,特别是一些引擎可能会将其解释为UTC,而其他引擎可能会将其解释为本地时间(这很重要,即使它只是一个没有时间的日期)


    所有其他日期解析都必须由您自己的代码或您使用的库(如MomentJS)中的代码完成。您可以使用从其组成部分构建一个日期,例如:
    2008年3月9日的新日期(2008,2,9)
    (请注意,月份从0开始=1月)。

    您是否尝试过新日期(“9/3/2000年8月”)?值得注意的是,
    Date
    函数在理解给定格式方面的智能有限。它显然不明白你的
    9
    。检查这一点,为什么投反对票?