我在JavaScript中Date()
有一个奇怪的问题。
我有以下简单的代码:
var date = new Date(2013, 11, 01, 00, 00, 0, 0);
alert(date);
这应该将日期设置为 01 November 2013 00:00:00:00
但它将其设置为 12 月?正如你在这个小提琴中看到的http://jsfiddle.net/CBqK2/
怎么了?
JavaScript 月份是基于 0 的,只是为了让你感到困惑。
来自 MDN 的 Date
构造函数:
month 表示月份的整数值,从 0 表示 1 月开始,到 11 表示 12 月。
所以对于你的例子:
var date = new Date(2013, 10, 01, 0, 0, 0, 0);
alert(date);
你可以在这里阅读更多关于MDN Date
的信息。
将第二个值设置为 10。日期类以 0 开头表示一月,就像在数组;)
Date() 根据本地时间返回指定日期的月份(从 0 到 11)。
例如:一月是0,二月是1,依此类推。
如果您想从0
开始使用以下格式
var date = new Date('2013/10/01');
日期具有从零开始的工作日月份列表。
几个月,1 月至 12 月为 0-11,工作日为周日至周六为 0-6。
当你说。
var date = new Date('1381751517000')//我在 2013-10-14T11:51:00 中使用了以毫秒为单位的时间戳,因为 js 接受以毫秒为单位的时间戳。
现在如果我们说
day = date.getDay();
它返回 1,即星期一,
month = date.getMonth()
它返回 9 点,即 10 月。
同样,当我们使用格式('YYYY,MM,DD,HH,mm,ss,ms')创建日期时,我们也应该以相同的方式给出输入。