JavaScript中的Date()问题 - 它增加了一个月?

msc*_*egg 3 javascript date

Date()在JavaScript中遇到了一个奇怪的问题.

我有以下简单的代码:

var date = new Date(2013, 11, 01, 00, 00, 0, 0);
alert(date);
Run Code Online (Sandbox Code Playgroud)

那应该将Date设置为01 November 2013 00:00:00:00But而是将它设置为12月?正如你在这个小提琴中看到的那样 http://jsfiddle.net/CBqK2/

怎么了?

Llo*_*oyd 14

JavaScript月份基于0,只是为了让您感到困惑.

从MDN获取Date构造函数:

month表示月份的整数值,从1月的0开始到12月的11.

所以对于你的例子:

var date = new Date(2013, 10, 01, 0, 0, 0, 0);
alert(date);
Run Code Online (Sandbox Code Playgroud)

您可以Date此处阅读有关MDN的更多信息.

  • 这有点疯狂,从零开始,当人们使用1-12时正常,但谢谢!:) (3认同)