比方传来一个日期+时间   "2010-06-09 12:00:00"
如何用js操作这个日期   得到24小时之前的日期  "2010-06-08 12:00:00"别告诉我把8取出来-1哈
还有要是想得到8小时,10分钟之前的日期呢。。
小弟初来,分不多,达人们帮帮我

解决方案 »

  1.   


    <script language="javascript">
    var str="2010-06-09 12:00:00"
    var date=new Date(str.replace(/-/g,"\/"));
    date.setDate(date.getDate()-1);
    alert(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds());
    </script>
      

  2.   


    var str="2010-06-09 12:00:00"
    var date=new Date(str.replace(/-/g,"\/"));
    var dd=new Date(date.getTime()-24*60*60*1000);//
      

  3.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    </HEAD><BODY>
    <script>
    var str1 = "2010-06-09 20:48:52";
    var str2 = "2010-06-10 21:16:20";
    str1 = str1.replace(/-/g,"/").replace(/T/g," ").replace(/Z/g,"");
    str2 = str2.replace(/-/g,"/").replace(/T/g," ").replace(/Z/g,"");
    var t = new Date(str2) - new Date(str1);
    alert(["相差", Math.floor(t / 1000), "秒"].join(""));
    alert(["相差", Math.floor(t / 1000 / 60), "分钟"].join(""));
    alert(["相差", Math.floor(t / 1000 / 60 / 60), "小时"].join(""));
    alert(["相差", Math.floor(t / 1000 / 60 / 60 / 24), "天"].join(""));
    </script>
    </BODY>
    </HTML>
      

  4.   

    function getDateByAnyday(anyday,op){
      var now = new Date();
      var targetDate = {};
      if(op == "add"){
        targetDate = new Date(now + anyday*24*3600*1000);
      }else if(op == "detract"){
        targetDate = new Date(now - anyday*24*3600*1000);
      }
      return targetDate;
    }alert(getDateByAnyday(1,"detract"));
      

  5.   

    var str="2010-06-09 12:00:00";
    var date=new Date(str.replace(/-/g,"\/"));//转换为时间对象
    var t = date.getTime();//获得时间点的豪秒数
    t = t - 24*60*60*1000;//获得24小时前的豪秒数
    //t = t - 8*60*60*1000;//获得8小时前的豪秒数
    //t = t - 10*60*1000;//获得10分钟前的豪秒数
    date = new Date(t);//转换为时间对象