检查JavaScript中的时间是否早于其他时间
我想使用JavaScript或任何JavaScript库检查一个时间是否早于另一个时间 例如,我有检查JavaScript中的时间是否早于其他时间,javascript,Javascript,我想使用JavaScript或任何JavaScript库检查一个时间是否早于另一个时间 例如,我有t1=12:45:30和t2=12:45:35我想检查t1是否早于t2。我如何使用JavaScript轻松地完成它 我正在尝试以下代码: if(t1<t2) if(t1正如其他人指出的,“12:34:42”不是一个有效的javascript时间戳,它阻止您使用Date对象,但是您可以轻松地将时间字符串转换为秒并比较这些值: var seconds = function(time) { r
t1=12:45:30
和t2=12:45:35
我想检查t1是否早于t2。我如何使用JavaScript轻松地完成它
我正在尝试以下代码:
if(t1<t2)
if(t1正如其他人指出的,“12:34:42”不是一个有效的javascript时间戳,它阻止您使用Date
对象,但是您可以轻松地将时间字符串转换为秒并比较这些值:
var seconds = function(time) {
return time.split(":").reverse().reduce(function(p,c,i) {
return p + (parseInt(c, 10) * (Math.pow(60, i)));
}, 0);
}
if(seconds(t1) < seconds(t2)) {
... do stuff
}
如果使用24小时制,可以删除冒号并减去数字
比较两次
负返回表示第一个参数小于第二个参数
正表示第一个更大,零表示它们相同
function compareHMS(hms1, hms2){
return hms1.replace(/\D+/g,'')-hms2.replace(/\D+/g,'');
}
compareHMS('12:45:30','12:45:35');
//返回值:(Number)-5可能重复的t1=12:45:30
是无效的JavaScript。您实际上是如何创建日期的?是的,它不是有效的Js日期,一种方法是在数组中拆分您的日期并进行den比较。如果t1是字符串,首先使用arr=t1拆分它。拆分(:)然后将这些值乘以parseInt(arr[0])*60*60+parseInt(arr[1])*60+parseInt(arr[2])d3中是否没有内置函数。时间?这似乎是不太复杂的答案,也是我使用的答案。
function compareHMS(hms1, hms2){
return hms1.replace(/\D+/g,'')-hms2.replace(/\D+/g,'');
}