在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 有一個(gè)時(shí)間數(shù)組,時(shí)次不連續(xù),怎樣補(bǔ)全比較好?

有一個(gè)時(shí)間數(shù)組,時(shí)次不連續(xù),怎樣補(bǔ)全比較好?

一個(gè)時(shí)間數(shù)組,比如:

var times = [
    '2018-5-15 00:00:00','2018-5-15 01:00:00','2018-5-15 02:00:00','2018-5-15 08:00:00','2018-5-16 03:00:00'
]

像這樣,補(bǔ)全之間缺失的時(shí)次,怎樣實(shí)現(xiàn)較好?

回答
編輯回答
陪我終

你的需求是補(bǔ)全兩個(gè)時(shí)間段之間缺失的小時(shí)時(shí)間對(duì)吧,看到你的數(shù)組是排好序的,很簡單呀,你可以取出數(shù)組首跟尾,然后轉(zhuǎn)成時(shí)間戳,接著用個(gè)for循環(huán),只要小于尾部時(shí)間戳的,就一直加一個(gè)小時(shí),存入一個(gè)新數(shù)組,最后將新數(shù)組裝回字符串,完成。

2018年5月2日 13:44
編輯回答
夏夕

這看起來,不是一個(gè)補(bǔ)全的題,是按照間隔1小時(shí)生成下標(biāo)0和下標(biāo)length-1的時(shí)間間隔數(shù)組的問題。

let times = [
    '2018-5-15 00:00:00', '2018-5-15 01:00:00', '2018-5-15 02:00:00', '2018-5-15 08:00:00', '2018-5-16 03:00:00'
]

let oneHour = 60 * 60 * 1000;

let now = new Date(times[0]);
let max = new Date(times[times.length - 1]);

let result = [];
while (!(max < now)) {
    result.push(now)
    now = new Date(now.getTime() + oneHour);
}

console.log(result)

還是用moment.js比較方便。

2017年1月15日 10:10
編輯回答
怣人
 var times = [
      '2018-5-15 00:00:00','2018-5-15 01:00:00','2018-5-15 02:00:00','2018-5-15 08:00:00','2018-5-16 03:00:00'];
  var oneHour = 60*60*1000;
  var index = 0;
  while(index<times.length-1){
      var next = new Date(new Date(times[index]).getTime()+oneHour);
      if(next<new Date(times[index+1])){
          times.splice(index+1,0,next);
      }
      index++;
  }
  alert(times);
2018年9月11日 01:33