将日期分成 30 分钟间隔的时刻

use*_*555 2 javascript momentjs

我有两个下拉菜单fromto用户可以在任何一天选择 30 分钟的间隔。

我想要使​​用 moment js 或使用普通 js 之类的东西

from [ 12:00am, 12:30am, 1:00am, 1:30am, 2:00am,...... ] till midnight
Run Code Online (Sandbox Code Playgroud)

并且可以从12:30am

编辑

如果我选择从开始日期起的凌晨 1:00,我想要的to日期是1:30am

我怎样才能写这个函数?任何帮助表示赞赏

Bek*_*Bek 5

var startDate = moment().startOf('day');

var dates = [];
var hourDivider = 2;
var t = hourDivider * 24;

while(t--) {
  dates.push(startDate.format('hh:mma'));
  startDate.add(60/hourDivider, 'minute');
}               
                
console.log(dates)

// answer to second question 

var fromIndex = 2; // 01:00am
var toDates = dates.slice(fromIndex+1);

console.log(toDates);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.1/moment.min.js"></script>
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
Run Code Online (Sandbox Code Playgroud)