利用moment计算时间的问题

发布于 2022-09-12 23:38:11 字数 945 浏览 28 评论 0

需求大概是这样的:首先利用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];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我还不会笑 2022-09-19 23:38:11

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

修改了下
image.png
image.png

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文