function nextDay(dateStr){
    var currDate = new Date(dateStr),
        currHours = currDate.getHours(),
        nextHours = currDate.setHours(currHours + 24),
        nextDay = new Date(nextHours);
    return nextDay;
}
console.log(nextDay("2014-5-31").toLocaleDateString());
function prevDay(dateStr){
    var currDate = new Date(dateStr),
        currHours = currDate.getHours(),
        prevHours = currDate.setHours(currHours - 24),
        prevDay = new Date(prevHours);
    return prevDay;
}
console.log(prevDay("2014-5-1").toLocaleDateString());

解决方案 »

  1.   

    不行啊,大哥,我测试时出错。麻烦把你的代码,整合一下到上面的html中,行吗?满分给。我是新手。
      

  2.   

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <meta charset="utf-8" />
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0-beta1.js"></script>
    </head>
    <body>
    <script language="javascript">  function goprovday()
       {
       var oForm = document.forms["form1"];
       var objtxt = oForm.saleDateBegin.value;  //获得值写入 saleDateBegin 框内
            
       oForm.saleDateBegin.value = objtxt - 1 ; //  这儿该怎么写呢?
       oForm.saleDateEnd.value = objtxt ;
       //oForm.submit();
       }
      function next(){//其他的类推
        var objtxt = oForm.saleDateBegin.value;
        objtxt = objtxt.replace(/-/g,'/'); // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串
        var currDate = new Date(objtxt);
            currHours = currDate.getHours();
            nextHours = currDate.setHours(currHours + 24);
            d = new Date(nextHours);
            var s = '';
            s += d.getFullYear();                         // 获取年份。
            s += "-"+ (d.getMonth() + 1) ;            // 获取月份。
            s += "-" + d.getDate()  ;                   // 获取日。
            //return(s);                                // 返回日期。        alert(s)
      }
    </script><form name="oForm" method="post" action="index.asp">
      开始日期:<input type="text" name="saleDateBegin"  value="2014-5-1"> 
      结束日期:<input type="text" name="saleDateEnd"  value="2014-5-5">
    <input type="button" name="Submit" value="Submit" onclick="goprovday();">
    <input type="button"  value="后一天" onclick="next();">
    </form> 
    </body>
    </html>
      

  3.   

    你写法有问题,所以获取不到值,我已经帮你能获取起始日期了,你再看怎么样变成前一天,然后赋值
    <!DOCTYPE html>
    <html>
    <head>
    </head><script> 
    function goprovday() {
        var txt_begin = document.getElementById("saleDateBegin");
        alert(txt_begin.value);}
    </script> 
    <body>
    <form name="form1" method="post" action="index.asp">
      开始日期:<input type="text" id="saleDateBegin"  value="2014-5-1"> 
      结束日期:<input type="text" id="saleDateEnd"  value="2014-5-5">
    <input type="button" name="Submit" value="Submit" onclick="goprovday();">
    </form>  
    </body>
    </html>
      

  4.   

    唉!<script language="javascript">
        function fun(n){
            var el = document.getElementsByName(n?"saleDateBegin":"saleDateEnd")[0],v=el.value;
            if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(v)){
                var d = new Date(v.replace(/-/g,"/"));
                d.setDate(d.getDate() + (n?-1:1));
                el.value = d.getFullYear()+"-"+ (d.getMonth()+1) +"-"+ d.getDate();
            }
        }
    </script>
    <form name="oForm" method="post" action="index.asp">
        开始日期:<input type="text" name="saleDateBegin"  value="2014-5-1"> 
        结束日期:<input type="text" name="saleDateEnd"  value="2014-5-5">
        <input type="button"  value="前一天" onclick="fun(!0)">
        <input type="button"  value="后一天" onclick="fun(!1)">
    </form>
      

  5.   

    原来是时间格式的问题,必须要2014/5/1才能转为Date格式,我刚才也想到了用var currDate = new Date(objtxt);
      

  6.   


    多谢 “microlab2009” 和 "xzy21com" 的方法。
    ________________________________不过有个小小的问题就是:
    我取后一天的值的时候,需要让2个日期始终相差为1天。试了好久,没成功,还请援手,谢谢。例如:我取后一天的值到右边框为:2014-5-5
    左边框内开始日期就为 2014-5-4我取前一天的值到左边框为:2014-5-1
    左边框内开始日期就为 2014-5-2怎么写呢?谢谢。成功马上结贴。
      

  7.   

    <script language="javascript">
        function fun(n){
            var b=document.getElementsByName("saleDateBegin")[0],e=document.getElementsByName("saleDateEnd")[0],el;
            if(n){
                el=b;e.value= b.value;
            }else{
                el=e;b.value= e.value;
            }
            var v=el.value;
            if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(v)){
                var d = new Date(v.replace(/-/g,"/"));
                d.setDate(d.getDate() + (n?-1:1));
                el.value = d.getFullYear()+"-"+ (d.getMonth()+1) +"-"+ d.getDate();
            }
        }
    </script>
    <form name="oForm" method="post" action="index.asp">
        开始日期:<input type="text" name="saleDateBegin"  value="2014-5-1"> 
        结束日期:<input type="text" name="saleDateEnd"  value="2014-5-2">
        <input type="button"  value="前一天" onclick="fun(!0)">
        <input type="button"  value="后一天" onclick="fun(!1)">
    </form>