javascript - 以更简单的方式过去 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];
解决方案
我将从创建一个可重用的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) );
相关文档、参考资料:
new Date(date - minutes * 60000)
从日期中减去分钟[...Array(minutes)].map()
创建一个新的n
长度数组`${hour}:${minute}`
用于字符串连接String.padStart
填充个位数的值(例如,防止01:05
显示为1:5
)
推荐阅读
- excel - excel中德语格式的数字总和
- c - 为什么这是以下 c 代码 12 的输出?
- macos - 如何从 MAC UI 安装程序 (.pkg) 开始页面获取安装程序路径/名称
- javascript - POST http://localhost:3000/api/v1/stories 401(未经授权)
- mysql - 使用嵌套集模型在 MySQL 中管理分层数据中对所有叶节点进行分组
- python - 如何在python中将具有多个级别的API响应转换为数据框
- azure-dsvm - DSVM 可以支持 Ubuntu 的 SQL Server Developer Edition
- python - python如何迭代由多个列表组成的变量
- python - 如何在 Django 中获取总持续时间
- multipartform-data - Apollo REST 数据源和 Imgur API - 使用表单数据不断收到 400 Bad Request