【发布时间】:2020-01-10 13:54:51
【问题描述】:
所以我有一个时间格式的字符串数组,例如“6pm”或“5am”。我想验证数组中的元素是否增加了 2 小时。我首先使用 .replace 删除 pm 和 am 并获取第一个和下一个元素之间的差异以查看它是否为 2,但在 '12am'、'2am' 和 '12pm'、'2pm' 之间的时间有问题.所以我想将其转换为 24 小时或分钟,但仍然遇到同样的问题。如果元素增加 2 小时或者是否有一个按日期比较的库,我不确定如何将其转换为比较。这是我所拥有的:
const exampleArr = ['6pm', '8pm', '10pm', '12am', '2am', '4am', '6am', '8am', '10am', '12pm'];
const modifiedTempArr = [];
for(let i = 0; i < exampleArr.length; i++) {
let temp = exampleArr[i].replace('pm', '').replace('am', '');
//console.log(temp);
let timeInMin = temp * 60;
console.log(timeInMin);
modifiedTempArr.push(timeInMin);
}
// or
for(let i = 0; i < exampleArr.length; i++) {
var momentObj = moment(exampleArr[i], ["hA"]);
console.log(momentObj.format("HH:mm"));
}
// also tried this
var d1 = new Date(parseInt(exampleArr[3])); // 12am
var d2 = new Date(parseInt(exampleArr[4])); // 2am
let timeDifference = Math.abs(d2.getTime() - d1.getTime());
console.log(timeDifference); // got 10
【问题讨论】:
-
“或者如果有一个按日期比较的库”。在 JavaScript 中,几乎所有东西都有一个库......
-
我想这个链接会帮助你stackoverflow.com/questions/23620498/…
-
@VaishakHolla 我确实看到了那个链接,但是它会比较它是之前还是之后。我想看看 2 个元素之间的小时数有什么区别
标签: javascript node.js