有一个开始时间和一个结束时间,格式的话都是yyyy-MM-dd HH:mm 例如:2011-08-19 10:30,开始时间是取当前系统时间,
结束时间是开始时间推后3个小时。    var myDate = new Date();
    $('beginTime').value=myDate.toLocaleTimeString().substring(0,5);
    myDate.setHours(myDate.getHours()+3);
    $('endTime').value=myDate.toLocaleTimeString().substring(0,5);  
这样写有两个问题,myDate.getHours()获取当前小时数的范围是(0-23),这样如果时间是凌晨5点,加上3个小时,还得按照时间格式在前面加上0。
如果时间是晚上23点,加上3个小时,天数上面还得加1,时间判断上面还得判断加3个小时是否超过24小时!求高手给个简便的方法!

解决方案 »

  1.   


    var d=new Date();
    var dd=new Date(d.getTime()+10800000);
    alert(dd);//dd就是3小时以后的时间
      

  2.   

    这样获取的时间格式不是yyyy-MM-dd HH:mm
      

  3.   

    var currTime = new Date();
    var resultTime = new Date(currTime.getFullYear,currTime.getMonth(), currTime.getDate(),a.getHours() + 3,a.getMinutes());
      

  4.   

    var d = new Date();
    var begin = formatDatetime(d);
    d.setHours(d.getHours() + 3);
    var end = formatDatetime(d);function formatDatetime(d) {
        return d.getFullYear() + '-' + (d.getMonth() < 9 ? '0' + (d.getMonth() + 1) : (d.getMonth() + 1)) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes();
    }
      

  5.   


    var d=new Date();
          var dd=new Date(d.getTime()+10800000);
          
          alert(dd.toLocaleString().replace(/^(\d{4})\D*(\d+)\D*(\d+)\D*(\d+):(\d+):\d+$/g,"$1-$2-$3 $4:$5"));可以一个个替换,但是还是写了个正则表达式
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>无标题文档</title>
    </head>
    <body>
        <script type="text/javascript">
            function FormatDateTime(dateTime) {
                var year = dateTime.getYear();
                var month = Format(dateTime.getMonth() + 1);
                var day = Format(dateTime.getDate());
                var hour = Format(dateTime.getHours());
                var minute = Format(dateTime.getMinutes())
                return year + "-" + month + "-" + day + " " + hour + ":" + minute;
            }
            function Format(num) {
                return num < 10 ? "0" + num.toString() : num.toString();
            }
            var myDate = new Date();
            myDate.setHours(myDate.getHours() + 3);
            alert(FormatDateTime(myDate));
        </script>
    </body>
    </html>
      

  7.   

    为什么一定要用JS,在后台通过DateUtil处理,处理之后,再传会后台就行了,干嘛一定要在JS中处理。而且在客户端还能看到JS代码。
    DateUtils.addHours(date, 3);
      

  8.   


            var d=new Date();
    var dd=new Date(d.getTime()+10800000);
    alert(dd.toLocaleTimeString());