首页 > 解决方案 > 以更简单的方式过去 5 分钟,javascript

问题描述

我想要过去五分钟的数组,hour:minute格式如下,但是还有其他更聪明的方法可以轻松做到吗?

     var today = new Date();
     today.setSeconds(0);
     var last1 = new Date(today.getTime() - (1000*60));

     hour = last1.getHours();
     min = last1.getMinutes();
     final1 = hour+":"+min;

     var last2 = new Date(today.getTime() - (1000*120));
     var last3 = new Date(today.getTime() - (1000*180));
     var last4 = new Date(today.getTime() - (1000*240));
     var last5 = new Date(today.getTime() - (1000*300));

     var arr = [final1,final2,..and so on];

标签: javascript

解决方案


我将从创建一个可重用的subtractMinutes函数开始。

然后,您可以创建一个新的项目数组并在每个5项目上使用它subtractMinutes。第一项将0减去分钟,第二项将减去1分钟,依此类推。

const subtractMinutes = (date,minutes) => new Date(date - minutes * 60000);

const getPastMinutes = (minutes, startDate = new Date()) => {
  return [...Array(minutes)].map((i,idx) => {
    let newDate = subtractMinutes(startDate,idx);
    let hour = newDate.getHours().toString().padStart(2,'0');
    let minute = newDate.getMinutes().toString().padStart(2,'0');
    return `${hour}:${minute}`;
  });
};

console.log( getPastMinutes(5) );

相关文档、参考资料:


推荐阅读