HH : MM : SS 형식의 두 시간 문자열이 있습니다. 예를 들어 str1
포함 10:20:45
, str2
포함 5:10:10
.
위의 값을 어떻게 비교할 수 있습니까?
답변
Date.parse('01/01/2011 10:20:45') > Date.parse('01/01/2011 5:10:10')
> true
1 월 1 일은 임의의 날짜이며 아무 의미가 없습니다.
답변
로 펠릭스 클링이 코멘트에 말했다, 당신의 시간은 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
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>
답변
아래 코드로 쉽게 할 수 있습니다.
참고 : RegExp의 두 번째 인수는 전역 검색 플래그 인 ‘g’입니다. 전역 검색 플래그는 RegExp가 문자열 전체에서 패턴을 검색하도록하여 주어진 패턴과 일치하는 모든 항목의 배열을 만듭니다. 아래 코드는 시간이 HH : MM : SS 형식, 즉 24 시간 형식 인 경우에만 작동합니다 .
var regex = new RegExp(':', 'g'),
timeStr1 = '5:50:55',
timeStr2 = '6:17:05';
if(parseInt(timeStr1.replace(regex, ''), 10) < parseInt(timeStr2.replace(regex, ''), 10)){
console.log('timeStr1 is smaller then timeStr2');
} else {
console.log('timeStr2 is smaller then timeStr1');
}
답변
이 코드를 사용해보십시오.
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");
}
답변
해당 문자열을 초로 변환하십시오.
var str1 = '10:20:45';
var str2 = '5:10:10';
str1 = str1.split(':');
str2 = str2.split(':');
totalSeconds1 = parseInt(str1[0] * 3600 + str1[1] * 60 + str1[0]);
totalSeconds2 = parseInt(str2[0] * 3600 + str2[1] * 60 + str2[0]);
// compare them
if (totalSeconds1 > totalSeconds2 ) { // etc...