怎么通过一个日期算出这一天所有的时间间隔?

例如给出时间 2020-09-23;
算出每隔一分钟的时间如下:

[
    '2020-09-23 00:00',
    '2020-09-23 00:01',
    '2020-09-23 00:02',
    '2020-09-23 00:03',
        ...
    '2020-09-23 23:58',
    '2020-09-23 23:59',
]

谢谢

阅读 2.8k
5 个回答
function output(dateStr) {
    let arr = [];
    for (let i = 0; i <= 23; i++) {
        const h = i < 10 ? `0${i}`: `${i}`;
        for (let j = 0; j <= 59; j++) {
            const m = j < 10 ? `0${j}`: `${j}`;
            arr.push(`${dateStr} ${h}:${m}`);

        }
    }
    return arr;
}

output('2020-09-24'); // [ "2020-09-24 00:00", "2020-09-24 00:01", "2020-09-24 00:02", ...]

推荐使用dayjs,用过都说好啊。

for(let i=1;i<=10;i++){

 console.log(dayjs('2020-09-19').add(i,'minutes').format('YYYY-MM-DD HH:mm'));

}
//输出:

2020-09-19 00:01
2020-09-19 00:02
2020-09-19 00:03
2020-09-19 00:04
2020-09-19 00:05
2020-09-19 00:06
2020-09-19 00:07
2020-09-19 00:08
2020-09-19 00:09
2020-09-19 00:10

这不就是循环输出时分就可以了吗?跟年月日拼接一下

可以从00:00开始循环,一直到23:59.

开始时间取零时零分,时间戳循环加60*1000

new Date('2020-09-23 00:00:00').getTime()
1600790400000
new Date(1600790400000)
Wed Sep 23 2020 00:00:00 GMT+0800 (中国标准时间)
new Date(1600790401000) // +1000ms
Wed Sep 23 2020 00:00:01 GMT+0800 (中国标准时间)
new Date(1600790402000) // +2*1000ms
Wed Sep 23 2020 00:00:02 GMT+0800 (中国标准时间)
new Date(1600790460000) // +60s
Wed Sep 23 2020 00:01:00 GMT+0800 (中国标准时间)
new Date(1600790520000) // +2*60s
Wed Sep 23 2020 00:02:00 GMT+0800 (中国标准时间)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题