这是我在 chrome 控制台中看到的:
> new Date(2012, 9, 13).toString()
"Sat Oct 13 2012 00:00:00 GMT+0800 (CST)"
> new Date(2012, 9, 13).getMonth()
9
显然应该是Thu Sep
..我错过了什么?
这是我在 chrome 控制台中看到的:
> new Date(2012, 9, 13).toString()
"Sat Oct 13 2012 00:00:00 GMT+0800 (CST)"
> new Date(2012, 9, 13).getMonth()
9
显然应该是Thu Sep
..我错过了什么?
month
形式为~ 0
,11
零索引。
月
表示月份的整数值,从 0 开始表示一月到 11 表示十二月。
不要问我为什么,但是 Date 构造函数被指定为 Jan = 0, ... Dec = 11。您实际上是在创建一个 10 月的日期,并且它正在正确打印出来。
请参阅https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date
month
表示月份的整数值,从 0 开始表示一月到 11 表示十二月。
Date 对象的 ECMAScript规范指出月份是从 0 开始索引的(很像 Java 中的),因此9
表示十月:
15.9.1.4 月数
月份值 0 指定一月;1 指定二月;2 指定三月;3 指定四月;4 指定五月;5 指定六月;6 指定七月;7 指定八月;8 指定九月;9 指定十月;10 指定 11 月;11 指定 12 月。请注意,MonthFromTime(0) = 0,对应于 1970 年 1 月 1 日星期四。