需求大概是这样的:首先利用moment
获取当前的时间,比如当前时间是:2021-05-11 16:05
然后根据这个时间得到下面的数据格式
const dateArray = [
['2021-05-10 11:05 - 2021-05-10 16:05'],
['2021-05-10 17:05 - 2021-05-10 22:05'],
['2021-05-10 23:05 - 2021-05-11 04:05'],
['2021-05-11 05:05 - 2021-05-10 10:05'],
['2021-05-11 11:05 - 2021-05-11 16:05'],
]
也就是说dateArray
里的每一项代表6个小时的时间范围
我这里计算不知道哪里有问题,导致死循环了,算出来的时候也不对
const et = moment();
const [initialParams, setinitialParams] = useState({
endTime: et,
});
const headerData = new Array(5).fill([], 0, 6);
for (let i === headerData.length - 1; i >= 0; i--) {
let st;
let et;
if ((i = headerData.length - 1)) {
et = initialParams.endTime;
st = et.subtract('300', 'm');
} else {
et = headerData[i + 1][0].subtract(60, 'm');
st = et.subtract('300', 'm');
}
headerData[i] = [st, et];
还是改错了

至于为什么都算到5月4号 因为你修改的值引用了都是同一个对象,所以结果都是最后一个修改的值,
修改了下


具体根据你自己的需求自己再改下吧