2017-08-11 20 views
0

私はGoogleにしようとしますが、私は私を助けることができる解決策を見つけることができません。jqueryで日付と時刻の両方をループする

私は15分の間隔を持っており、15分間隔で1週間を通してループする必要があります。

日付間隔は任意です。私は何をしようとすると、あなたはここで、moment.jsライブラリを使用して行く

ここ

var array = [{x:'Thu Jul 27 2017 01:00:00 GMT+0200 (Central European Daylight Time)',y:1}, 
 
     {x:'Thu Jul 21 2017 01:10:00 GMT+0200 (Central European Daylight Time)',y:5}, 
 
     {x:'Thu Jul 21 2017 01:15:00 GMT+0200 (Central European Daylight Time)',y:3}, 
 
    ... 
 
     {x:'Thu Jul 27 2017 23:55:00 GMT+0200 (Central European Daylight Time)',y:8}, 
 
    ]; 
 
    var interval = 900000; 
 

 
    for(var i = 0; i < maxArray.length; i++) { //loop through the existing date object array 
 
       millisecArray.push(maxArray[i]['x'].getTime()); //and push its millisec value into the new array 
 
      } 
 

 
      var startObj = new Date('2017-07-17 01:00:00'); 
 
      var endObj = new Date('2017-07-27 23:55:00'); 
 

 
      var start = startObj.getTime(); //gets the time in millisecs 
 
      var end = endObj.getTime(); //gets the time in millisecs 
 

 
      var newDateObj = new Date(); 
 
      //keep looping until current is 15 minutes smaller than end 
 
      for(var current = start; current < end; current = current + interval){ 
 
       if(!lookup(current , millisecArray)) { 
 
       console.log(new Date(current));//@TODO will give me only time but not date. 
 
       } 
 
      } 
 

 
      function lookup(name,arr) { 
 
       for(var j = 0; i < arr.length; j++) { 
 
       if(arr[ j ] === name) 
 
        return true; 
 
       } 
 
       return false; 
 
      }

+0

あなたの望むものが不明で、コードが動作していない/完了している –

+0

ええと...ジョナスが言ったように、あなたが望むものは不明です。内側のforループは正しく、15分間隔で2つの日付の間をループしています。 – Aleeeeee

+0

[Moment.js](https://momentjs.com/)を使用して時間を操作できます。これは外部の図書館(jQueryには含まれていません)です。私はこれをコメントではなく回答として投稿していますが、夏時間、曜日、日などを管理します。十分に文書化されたライブラリ。ここに時間を「追加」する必要があります(任意の増分で)https://momentjs.com/docs/#/manipulating/add/ –

答えて

0

ある

は、日付に15 minuteを追加する方法の一例です。

var startObj = moment('2017-07-17 01:00:00'); 
 
var endObj = moment('2017-07-27 23:55:00'); 
 
    
 
for(var current = startObj; current < endObj;current=startObj.add(15,'minute')) 
 
{ 
 
    console.log(current); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://momentjs.com/downloads/moment.js"></script>

あなたの問題を解決するために、この例の助けを願っています。

+0

それは私のためにうまく動作します。この結果を日付で並べ替えるにはどうすればいいですか? – Dev

関連する問題