3

Date()我在 JavaScript 中有一个奇怪的问题。

我有以下简单的代码:

var date = new Date(2013, 11, 01, 00, 00, 0, 0);
alert(date);

那应该将日期设置为01 November 2013 00:00:00:00但是将其设置为十二月?正如你在这个小提琴中看到的那样 http://jsfiddle.net/CBqK2/

怎么了?

4

4 回答 4

16

JavaScript 月份都是从 0 开始的,只是为了迷惑你。

来自 MDN 的Date构造函数:

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

所以对于你的例子:

var date = new Date(2013, 10, 01, 0, 0, 0, 0);
alert(date);

您可以在此处阅读有关DateMDN的更多信息。

于 2013-10-14T10:58:46.590 回答
3

将第二个值设置为 10。日期类以 0 开头,表示一月,就像在数组中一样;)

于 2013-10-14T10:59:55.097 回答
1

Date() 根据本地时间返回指定日期的月份(从 0 到 11)。

例如:一月为 0,二月为 1,以此类推。

如果你想从头0开始使用下面的格式

var date = new Date('2013/10/01');
于 2013-10-14T11:01:10.380 回答
0

Date 具有从零开始的月份工作日列表。

一月到十二月的月份为 0-11,周日至周六的工作日为 0-6。

当你说。

var date = new Date('1381751517000') // 我使用了 2013-10-14T11:51:00 的时间戳(以毫秒为单位),因为 js 接受以毫秒为单位的时间戳。

现在如果我们说

日期 = date.getDay();

它返回 1,即星期一,

月 = date.getMonth()

它返回 9 即 10 月。

以同样的方式,当我们使用格式 ('YYYY,MM,DD,HH,mm,ss,ms') 创建日期时,我们也应该以同样的方式输入。

于 2013-10-14T11:57:25.970 回答