我有两个HH:MM:SS格式的时间字符串。例如,str1
包含10:20:45
、 str2
包含5:10:10
。
如何比较上述值?
我有两个HH:MM:SS格式的时间字符串。例如,str1
包含10:20:45
、 str2
包含5:10:10
。
如何比较上述值?
正如Felix Kling在评论中所说,如果您的时间基于 24 小时制(如果没有 AM/PM 则应该是),并且如果它们始终采用HH:MM:SS
您可以进行直接字符串比较的格式:
var str1 = "10:20:45",
str2 = "05:10:10";
if (str1 > str2)
alert("Time 1 is later than time 2");
else
alert("Time 2 is later than time 1");
Date.parse('01/01/2011 10:20:45') > Date.parse('01/01/2011 5:10:10')
> true
1 月 1 日是一个任意日期,没有任何意义。
Date
js 中的对象支持比较,将它们设置为相同的日期进行比较 hh:mm:ss :
new Date ('1/1/1999 ' + '10:20:45') > new Date ('1/1/1999 ' + '5:10:10')
> true
尝试使用此代码获取 24 小时格式的时间。
<script type="text/javascript">
var a="12:23:35";
var b="15:32:12";
var aa1=a.split(":");
var aa2=b.split(":");
var d1=new Date(parseInt("2001",10),(parseInt("01",10))-1,parseInt("01",10),parseInt(aa1[0],10),parseInt(aa1[1],10),parseInt(aa1[2],10));
var d2=new Date(parseInt("2001",10),(parseInt("01",10))-1,parseInt("01",10),parseInt(aa2[0],10),parseInt(aa2[1],10),parseInt(aa2[2],10));
var dd1=d1.valueOf();
var dd2=d2.valueOf();
if(dd1<dd2)
{alert("b is greater");}
else alert("a is greater");
}
</script>
试试这个代码。
var startTime = "05:01:20";
var endTime = "09:00:00";
var regExp = /(\d{1,2})\:(\d{1,2})\:(\d{1,2})/;
if(parseInt(endTime .replace(regExp, "$1$2$3")) > parseInt(startTime .replace(regExp, "$1$2$3"))){
alert("End time is greater");
}