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/
怎么了?
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/
怎么了?
JavaScript 月份都是从 0 开始的,只是为了迷惑你。
来自 MDN 的Date
构造函数:
month表示月份的整数值,从 0 开始表示 1 月到 11 表示 12 月。
所以对于你的例子:
var date = new Date(2013, 10, 01, 0, 0, 0, 0);
alert(date);
您可以在此处阅读有关Date
MDN的更多信息。
将第二个值设置为 10。日期类以 0 开头,表示一月,就像在数组中一样;)
Date() 根据本地时间返回指定日期的月份(从 0 到 11)。
例如:一月为 0,二月为 1,以此类推。
如果你想从头0
开始使用下面的格式
var date = new Date('2013/10/01');
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') 创建日期时,我们也应该以同样的方式输入。