Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 月值不为';t与实际月份相对应_Javascript_Jquery - Fatal编程技术网

Javascript 月值不为';t与实际月份相对应

Javascript 月值不为';t与实际月份相对应,javascript,jquery,Javascript,Jquery,结果: 何处为 jQuery(document).ready( function($){ var newDate = new Date( 2016 , 2 , 28 , 8 , 0 , 0 , 0 ); alert( $.fn.jquery ); $('#countdown-ex1').countdown({until: newDate}); }); 结果: jQuery版本:1.11.3 TL;博士 第二个月等于三月 第一个月等于二月 这是一个bug还是故意的

结果:


何处为

jQuery(document).ready( function($){
    var newDate = new Date( 2016 , 2 , 28 , 8 , 0 , 0 , 0 );
    alert( $.fn.jquery );
    $('#countdown-ex1').countdown({until: newDate});
});
结果:

jQuery版本:1.11.3


TL;博士

第二个月等于三月

第一个月等于二月


这是一个bug还是故意的为什么是故意的?

月份值是以零为基础的,即
0
=1月份、
1
=2月份,等等。要获得预期的日期,只需将月份值减少1:

var newDate = new Date( 2016 , 1 , 28 , 8 , 0 , 0 , 0 );

阅读JS日期对象的一些文档:

特别是关于月份为0到11的位。

日期的月份以0为基数。

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


月份值是以零为基础的,即
0
=1月,
1
=2月…是的,它们是以0为基础的。。。。当然,你应该自己意识到这一点。@TravisJ如果年份和日期不一致,为什么它们会以0为基础?这是我不明白的。我认为这个答案可以很好地解释这一点。一个原因是岁月没有名字。而几个月就可以了。因此,这意味着直接将月份绑定到基于0的索引名称数组。乔恩·斯基特的这一点以及其他许多解释:;然而,总的看法是“不要担心为什么”。此外,这是一个主题,已经涵盖了很多次,有几个重复的网站上,它很容易谷歌搜索。
jQuery(document).ready( function($){
    var newDate = new Date( 2016 , 1 , 28 , 8 , 0 , 0 , 0 ); // 28 Feb 2016
    alert( $.fn.jquery );
    $('#countdown-ex1').countdown({until: newDate});
});