如:HH:mm:ss这种格式的两个时间如何做比较?
到目前为止最简单的方法是从另一个开始减去一个日期并比较结果。关系运算符 < <= > >= 可以用于比较JavaScript日期:
`var oDateOne = new Date();
var oDateTwo = new Date();
alert(oDateOne - oDateTwo === 0);
alert(oDateOne - oDateTwo <0);
alert(oDateOne - oDateTwo> 0);`
参考:
https://ask.helplib.com/37348
function compareTime(time1,time2){
var timeNums1 = time1.split(':').map(t => Number(t));
var timeNums2 = time2.split(':').map(t => Number(t));
/*** 时间相等 ***/
if(timeNums1[0] === timeNums2[0] &&
timeNums1[1] === timeNums2[1] &&
timeNums1[2] === timeNums2[2]){
return 0;
}
/*** 对时分秒进行比较 ***/
for(var i = 0 ; i < 3 ;i++){
if(timeNums1[i] > timeNums2[i]){
return 1
}
}
return -1;
}
构建一个将时间字符串转换成数值的函数就可以了。
function duration(timeStr) {
return +new Date(`2000-01-01 ${timeStr}`) - new Date('2000-01-01 00:00:00');
}
console.log(duration('23:23:23') - duration('23:23:22'));
// 1000
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
转成时间戳再比较