在输入框中得到的是字符串型的日期,格式为2007-08-08,我想取得该日期的第二天,同样为字符串类型,请问该怎么做,注意在月底的时候加1应为下个月的第一天 ,用js实现

解决方案 »

  1.   

    已经解决
     var d2=document.getElementById("TextTime2").childNodes[0].value;
        
         var arys= new Array();          arys=d2.split('-');
              //得到日期类型
             var myDate = new Date(arys[0],arys[1],arys[2]); 
             myDate=myDate.valueOf();
             
         myDate=myDate +1 * 24 * 60 * 60 * 1000;
         myDate = new Date(myDate)
        alert(myDate.getFullYear() + "-" + (myDate.getMonth()) + "-" + myDate.getDate() );
      

  2.   

    try ->var str = "2007-08-31";
            str = str.slice(5) + "-" + str.slice(0, 4);
            var d = new Date(str);
            alert(d);
            var d2 = new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1);
            alert(d2);
      

  3.   

    http://blog.csdn.net/zwei1121/archive/2006/06/24/829613.aspx
      

  4.   

    var str2 = d2.getFullYear() + "-" + d2.getMonth() + "-" + d2.getDate();
      

  5.   

    可以解释一下str.slice是什么意思吗
      

  6.   

    Jinglecat先生,您的答案是正确的,可是得到的日期格式稍有问题,这样我就没办法进行字符串比较了,怎么样得到2007-08-08这样的字符串格式呢,我试着加0,判断月数是一位还是两位,还得判断日是一位还是两位,总觉得太烦琐,不知道大家有没有好的办法啊
      

  7.   

    已经整体解决了,方法如下:
     //取得字符串值并加一天,d2为一个字符串格式的时期,如"2008-08-08"
        function DateNextDay(d2)
        {
        //slice返回一个数组
        var str  =  d2.slice(5)  + "- " + d2.slice(0,  4); 
               var  d  =  new  Date(str);  
                var  d3  =  new  Date(d.getFullYear(),  d.getMonth(),  d.getDate()+1); 
                var   month=returnMonth(d3.getMonth());   
                var day=d3.getDate();
                day=day<10?"0"+day:day;   
               var str2=d3.getFullYear()+"-"+month+"-"+day;
                return str2;
        }
        //返回月份
    function   returnMonth(num){   
      var   str="";   
      switch(num){   
      case   0:   str="01";   break;   
      case   1:   str="02";   break;   
      case   2:   str="03";   break;   
      case   3:   str="04";   break;   
      case   4:   str="05";   break;   
      case   5:   str="06";   break;   
      case   6:   str="07";   break;   
      case   7:   str="08";   break;   
      case   8:   str="09";   break;   
      case   9:   str="10";   break;   
      case   10:  str="11";   break;   
      case   11:  str="12";   break;   
      }   
      return   str;   
      }