var date = new Date(2016,8,31);
alert(date.getTime());
var date2 = new Date(2016,9,01);
alert(date2.getTime());
这俩毫秒数相同,为啥?
var date = new Date(2016,8,31);
alert(date.getTime());
var date2 = new Date(2016,9,01);
alert(date2.getTime());
这俩毫秒数相同,为啥?
月份是从0开始算的
var date = new Date(2016,8,31); //表示9月31日,又因为9月只有30天,所以是10月1日
var date2 = new Date(2016,9,01); //表示10月1日
var date = new Date(2016,8,31);
Sat Oct 01 2016 00:00:00 GMT+0800 (中国标准时间)
var date2 = new Date(2016,9,01);
Sat Oct 01 2016 00:00:00 GMT+0800 (中国标准时间)
新手在设置日期时,常会出现上述问题:即月份认为是从1开始,实际上Date对象的第二个参数表示月份,从0开始计数。超出后将累计到年份上。故:
var date = new Date(2016,12,31);
Tue Jan 31 2017 00:00:00 GMT+0800 (中国标准时间)
将是2017-01-31。
出现这种误解,应该是第三个参数引起的,即天数是从1开始。但是天数可以为0,不过这时相当于前一个月的最后一天。如:
var date = new Date(2016,12,0);
Sat Dec 31 2016 00:00:00 GMT+0800 (中国标准时间)
此时是2016-12-31。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
跑下下面的代码:
JS 中月份是从 0 开始,九月没有 31 号,跳到下一个月啦