本帖最后由 xiaojing7 于 2011-11-13 19:59:57 编辑

解决方案 »

  1.   

    var d=new Date();
    就是10 。
      

  2.   


    请在ie9及chrome中你试试就知道了。
      

  3.   

    可能是浏览器对于js有了新的解释吧,我这里ie6也是这样
      

  4.   

    getMonth获得的也是0~11的数据,有什么奇怪的?
      

  5.   

    var d=new Date("2011/11/11"); d.getMonth()应该是10;
      

  6.   

    因为 new Date(2011,10,11); 也是同样规则。10-11实际是11-11。另外,你这个测试例子怎么这么傻,10和11正好差1,很容易把你自己搞晕。用2011,5,3差几个1的不就好点。
      

  7.   

    new Date("2011/11/1");  是采取正常的日历显示方法(美国的,英国月份在后面),月就会自动减1。
    new Date(2011,10,1);  是采取内部的方式,你需要事先减1作为月的输入
      

  8.   

    因为Date.getMonth()返回的月份的范围也是0-11呀,很正常呀
      

  9.   

    这么多大牛给你答案,看来你的标题很吸引人哟。我打个小广告哈,我的博客里有
    http://blog.csdn.net/cj205/article/details/6159709
    关于日期对象的详细介绍和一些小技巧
      

  10.   

    getMonth返回值才是0-11.new时候参数就是实际月份
      

  11.   

    var d=new Date(2011,10,11);
    为2011-11-11
      

  12.   

    getMonth返回的也是0-11之间的一个整数,可见http://www.w3school.com.cn/js/jsref_getMonth.asp
      

  13.   

    使用的格式有关系
    你用 var d=new Date(2011,10,11);console.log(d.getFullYear() + "-" + d.getMonth()); 
    会把你搞蒙 因为 10 ,11,只相差1
    如果用你 var d=new Date(2011,5,11);console.log(d.getFullYear() + "-" + d.getMonth());
    如果用你 var d=new Date(2011,11,5);console.log(d.getFullYear() + "-" + d.getMonth());
    就可以知道问题出在哪儿?