function GetNowTime()//JS取时间
{  
   var dateNow=new Date();
   
   var daystoadd= -1;
   var newtime=dateNow.getTime()+(daystoadd*24*60*60*1000);
   
   var arrDate =new Array();
   for(var i=0;i<24*60/5;i++){
       {
     var newtimems=0;
     newtimems=newtime+(i*5*60*1000);
     arrDate[i] = new Date( newtimems );    }
   }
   alert(arrDate[0]);
   alert(arrDate[1]);   //return arrDate;
}
arrDate[0]出来的不是前一天的时间,但放在for中可以,另外把dateNow.setTime(newtimems);
arrDate[i]=dateNow;改成 arrDate[i] = new Date( newtimems );也能出来真确的时间,希望高手给解释下

解决方案 »

  1.   

    你的代码看不下去了
    我给你解释一个问题,希望能解决你的问题赋值有2种情况,一种是赋上直接的值,比如3,比如5等等
    另一种是赋上变量,比如a
    如果a在不停的变化,那么在不停的变化结束之后,你的变量得到将是a的最新值,那么统统得到的都是一个值。
      

  2.   

    <html> 
    <head> 
    <style> 
    </style>
    <script type="text/javascript" language="javascript">
        var d = new Date();
        var newTime = d.getTime() + (-1 * 24 *60 *60 *1000);
        var arr = [];
        for (var i = 0; i < 5; i++) {    
            d.setTime(newTime + (i*5*60*1000))    //d的值在每次循环时值在改变
            arr.push(d); //但是在这里的时候push进来的是d这个变量,而不是变量的值
        }
        //此时arr[0] - arr[4]里面的值其实都是d,而不是在你赋值时d当时的值。而是对d的一个引用。所以你得到的将是同一个值
        alert(arr[0]);
        alert(arr[1]);
    </script> 
    </head> 
    <body> 
    </body> 
    </html> 
      

  3.   

    dateNow是当前时间把,我想把当前时间的前一天到当前时间,以每隔5分钟的时间放到数组里面,
    var newtime=dateNow.getTime()+(daystoadd*24*60*60*1000);这是天数-1,没啥难的呀