如何减去特定时间部分javascript momentjs
how to subtract specific part of time javascript momentjs
我想减去时间的特定部分。我用 timeSlot 减去 bookedSlot 和持续时间,然后 return 中断插槽数组。
const timeSlots [{from: '10:00 am', to: '01:00 pm'}];
const bookedSlot = "12:00 pm"
const duration = "30min"
成绩需要
const res = [
{from: '10:00 am', to: '12:00 pm'},
{from: '12:30 am', to: '01:00 pm'}
]
如果我答对了你的问题,这是一些你可能会考虑作为问题解决方案的基本代码。
这是一个非常粗略的解决方案,如果您愿意,可以简化它。
function getFreeSlots(startInterval, endInterval, slotStartTime, slotDurationMin){
var startTime = moment(startInterval, 'HH:mm');
var endTime = moment(endInterval, 'HH:mm');
var slotTime = moment(slotStartTime, 'HH:mm');
var timeSlots = [];
// we are going to add 1 day in case startTime > endTime
if(endTime.isBefore(startTime))
endTime.add(1, 'day');
// split interval into slots
// first slot
timeSlots.push({
"from": startTime.format('HH:mm'),
"to": slotTime.format('HH:mm')
});
var slotEndTime = slotTime.add(slotDurationMin, "minutes")
// second slot
timeSlots.push({
"from": slotEndTime.format('HH:mm'),
"to": endTime.format('HH:mm')
});
return timeSlots;
}
var res = getFreeSlots("10:00 am", "13:00 pm", "12:00 pm", 30);
console.log(res);
您可能只需要为
添加一些变压器
const duration = "30min"
因此,您可以将一些确定的间隔传递给函数。
我想减去时间的特定部分。我用 timeSlot 减去 bookedSlot 和持续时间,然后 return 中断插槽数组。
const timeSlots [{from: '10:00 am', to: '01:00 pm'}];
const bookedSlot = "12:00 pm"
const duration = "30min"
成绩需要
const res = [
{from: '10:00 am', to: '12:00 pm'},
{from: '12:30 am', to: '01:00 pm'}
]
如果我答对了你的问题,这是一些你可能会考虑作为问题解决方案的基本代码。 这是一个非常粗略的解决方案,如果您愿意,可以简化它。
function getFreeSlots(startInterval, endInterval, slotStartTime, slotDurationMin){
var startTime = moment(startInterval, 'HH:mm');
var endTime = moment(endInterval, 'HH:mm');
var slotTime = moment(slotStartTime, 'HH:mm');
var timeSlots = [];
// we are going to add 1 day in case startTime > endTime
if(endTime.isBefore(startTime))
endTime.add(1, 'day');
// split interval into slots
// first slot
timeSlots.push({
"from": startTime.format('HH:mm'),
"to": slotTime.format('HH:mm')
});
var slotEndTime = slotTime.add(slotDurationMin, "minutes")
// second slot
timeSlots.push({
"from": slotEndTime.format('HH:mm'),
"to": endTime.format('HH:mm')
});
return timeSlots;
}
var res = getFreeSlots("10:00 am", "13:00 pm", "12:00 pm", 30);
console.log(res);
您可能只需要为
添加一些变压器const duration = "30min"
因此,您可以将一些确定的间隔传递给函数。