: current.addMinutes is not a function
时间: 2024-10-22 21:11:48 浏览: 24
您提到的 `current.addMinutes` 确实不是一个函数,因为在JavaScript中,日期对象并没有直接提供 `addMinutes` 方法。不过,我们可以利用 `setMinutes` 和 `getMinutes` 方法来模拟这个操作。下面是修改后的版本:
```javascript
let start = '08:30';
let end = '20:30';
let interval = '00:30';
function addMinutes(dateObj, minutes) {
dateObj.setMinutes(dateObj.getMinutes() + minutes);
return dateObj;
}
function generateTimeArray(startTime, endTime, interval) {
let result = [];
let current = new Date();
current.setHours(current.getHours() + parseInt(startTime.slice(0, 2)));
current.setMinutes(current.getMinutes() + parseInt(startTime.slice(3)));
while (current <= new Date(end)) { // 更改条件为小于等于,因为我们不希望错过最后一个时间段
result.push(`${current.getHours()}:${current.getMinutes()}`);
current = addMinutes(current, interval.split(':')[1]);
}
return result;
}
let timeArray = generateTimeArray(start, end, interval);
console.log(timeArray);
```
这里我们自定义了一个 `addMinutes` 函数,用于给当前时间对象增加指定分钟数。
阅读全文