javascript - 时刻范围 : Need to divide day into 15 minute slices

标签 javascript momentjs

目前我只能把一天分成1小时的 block 。 但我需要 15 分钟步长的范围。

Moment-Range Documentation

这是我现在的代码:

function iterateOverDayByIntervalOfHours(inputJSON){
    var day = getDayFromFromJSON(inputJSON);

    var start = new Date("2016-05-04T00:00:00.000Z");
    var end   = new Date("2016-05-04T23:59:59.999Z");

    var range = moment.range(start, end);
    var slices = {}
    range.by( 'hours', function(moment) {    
        console.log(moment);
        slices["moment"] = moment
        console.log("slices: "+ slices["moment"]);
        var ROTsAccumulatedForInterval =  getAccumulatedROTForTimeIntervall(range);
        var NumberOfFlightsForInterval = getNumberOfFlightsForTimeIntervall(range);
    });
    console.log(slices["moment"]);
}

有什么想法吗?

最佳答案

这是使用带有 moment-range 扩展名的 moment lib 的另一种方法:

const day_start = moment().startOf('day').hours(7); // 7 am
const day_end   = moment().startOf('day').hours(22) // 10 pm
const day = moment.range(day_start, day_end)
const time_slots = Array.from(day.by('minutes', {step: 30}))

Array.from(day.by('minutes', {step: 30}))

您可以将 'minutes' 更改为 hours, days, weeksstep 表示您要分块的分钟/小时/天

返回值将是

[ moment("2017-10-20T07:00:00.000"),
  moment("2017-10-20T07:30:00.000"),
  moment("2017-10-20T08:00:00.000"),
  moment("2017-10-20T08:30:00.000"),
  moment("2017-10-20T09:00:00.000"),
  moment("2017-10-20T09:30:00.000"),
  ...
  moment("2017-10-20T19:30:00.000"),
  moment("2017-10-20T20:00:00.000"),
  moment("2017-10-20T20:30:00.000"),
  moment("2017-10-20T21:00:00.000"),
  moment("2017-10-20T21:30:00.000"),
  moment("2017-10-20T22:00:00.000") ]

关于javascript - 时刻范围 : Need to divide day into 15 minute slices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37622204/

相关文章:

javascript - 异步生成器函数中是否需要等待?

javascript - 标签允许用户输入

javascript - 如何在 moment.js 中将 moment 转换为自定义格式字符串

javascript - $.each 只显示一个系列 Highcharts

javascript - 弹出窗口关闭后调用javascript函数

javascript - JS ES6 中的动态变量访问

javascript - 在移动应用程序中包含 moment.js

javascript - moment.utc 在 IE 和 Safari 中不起作用

javascript - 如何在不更改时间的情况下使用 moment.js 更改时区?

javascript - 使用 momentjs 获取给定日期的开始时间