javascript - 如何获得两个不同日期之间的分钟数?
问题描述
嗨,我正在使用 Javascript,我想获取两个日期之间的每一分钟,例如:
firstDate: 2019-04-02 02:03:00
secondDate: 2019-04-03 03:04:00
所以我的最终输出结果应该像这样返回:
2019-04-02 02:03:00
2019-04-02 02:04:00
2019-04-02 02:05:00
.
.
.
2019-04-03 03:04:00
这是我尝试过的代码
var boxingDay = new Date("2019-04-02 02:03:00");
var nextWeek = new Date("2019-04-03 03:04:00");
function getDatesRange(startDate, stopDate){
const ONE_DAY = 60*1000;
var days= [];
var currentDate = new Date(startDate);
while (currentDate <= stopDate) {
days.push(new Date (currentDate));
currentDate = currentDate - 1 + 1 + ONE_DAY;
}
return days.join("\n");
}
console.log(getDatesRange(boxingDay,nextWeek))
/* var map = getDates(boxingDay, nextWeek).map((times) => {
console.log(Date.parse(times))
}) */
/* console.log((getDates( boxingDay, nextWeek ))); */
问题是我得到了正确的输出,但我需要数组的形式,如下所示,如果我正在重用,它会重用该函数,它会返回一个空数组。
[[2019-04-02 02:03:00],[2019-04-02 02:04:00].....]
任何解决方案 TIA。
解决方案
使用您的代码作为基础,您可以按如下方式执行此操作(注意我使用的是.toISOString()
,您可以根据需要更改此设置):
const boxingDay = new Date("2019-04-02 02:03:00");
const nextWeek = new Date("2019-04-03 03:04:00");
function getDatesRange(startDate, stopDate){
const ONE_MINUTE = 60*1000;
const days= [];
let currentDate = new Date(startDate);
while (currentDate <= stopDate) {
days.push([currentDate.toISOString()]);
currentDate.setTime(currentDate.getTime() + ONE_MINUTE);
}
return days;
}
console.log(getDatesRange(boxingDay,nextWeek));
推荐阅读
- mysql - 对 MySQL 中的纬度和经度数据使用 DECIMAL(17,13) 时是否对性能有影响?
- firebase - Firebase 控制台创建动态链接错误
- python - 从熊猫数据框加载的 QTableView 中的多列过滤错误
- node.js - Node.JS/Express - 如何避免多个数据库查询
- java - Spark 从 cassandra 获取 ttl 列
- java - 将约束视图转换为文本视图时出现致命错误
- reactjs - React 处理多个复选框
- python - 如何从 py 3.6 的播放列表中打开随机视频?
- java - 在 linux 主机上创建 osx java app 发行版
- excel - 在 VBA MsgBox 中循环