如题:是否可以根据指定时间生成时间间隔
比如时间间隔是5分钟
生成数组如下:
['00:05', '00:10','00:15',.....,'23:55']
比如时间间隔是一分钟
生成数组如下
['00:01', '00:02','00:03', '23:59']
如题:是否可以根据指定时间生成时间间隔
比如时间间隔是5分钟
生成数组如下:
['00:05', '00:10','00:15',.....,'23:55']
比如时间间隔是一分钟
生成数组如下
['00:01', '00:02','00:03', '23:59']
当然可以,这么简单的数学递增其实直接算就行了,但是借助Date
对象来实现更简便
// 起始时间
const date = new Date('2020-03-25 23:58:00');
// 数组长度
const length = 10;
// 时长间隔 ms
const size = 60 * 1000;
const label = v => v < 10 ? `0${v}` : v;
const ary = [];
while (ary.length < length) {
ary.push(`${label(date.getHours())}:${label(date.getMinutes())}`);
date.setTime(date.getTime() + size);
}
console.log(ary);
JS里Date能智能处理时间溢出值。
function generateTimeList (delta) {
let f = n => `${n}`.padStart(2, '0')
let result = [], date = new Date()
date.setHours(0)
date.setMinutes(delta)
let day = date.getDate()
while (date.getDate() === day) {
let h = date.getHours()
let m = date.getMinutes()
console.log(h, m)
result.push(`${f(h)}:${f(m)}`)
date.setMinutes(m + delta)
}
return result
}
console.log(generateTimeList(105))
输出
["01:45","03:30","05:15","07:00","08:45","10:30","12:15","14:00","15:45","17:30","19:15","21:00","22:45"]
function getArray (interval) {
const fotmat = (n)=> {
const h = Math.floor(n/60);
const m = n%60
return `${`0${h}`.slice(-2)}:${`0${m}`.slice(-2)}`
}
let i = 0;
var arr = [];
while(i<24*60){
arr.push(fotmat(i));
i += interval;
}
return arr
}
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答2.6k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答889 阅读✓ 已解决
6 回答1.1k 阅读