2013-04-16 2 views
0

두 가지 다른 날짜 사용의 차이점에 관해서 여기 몇 가지 다른 질문을 보았습니다.DateJS와 2 회 비교

내 질문은 Parse ONLY a time string with DateJS과 비슷합니다.

나는 기본적으로 2 개 시간 입력이 있습니다

<input id="start_time" type="text"> <input id="end_time" type="text">

다음의 형식은 항상있을 것입니다 : 기본적으로 07:15 AM 또는 08:30 AM

를, 내가 뭘하려고하면 start_time이 보장이다 end_time보다 크지 않습니다.

나는 날짜를 구문 분석 DateJS를 사용하여 시도했다, 그러나 null 반환

Date.parseExact("03:15 PM", "HH:mm"); <--- returns null 

가 어떻게 두 개의 입력 필드를 비교 START_TIME을 보장하기 위해 (DateJS 또는 뭔가 다른 사용)에 대해 이동해야 크지 end_time보다?

도움이 될 것입니다.

+1

당신이 전달하는 날짜 문자열'parseExact' 당신이 전달하는 형식과 일치하지 않습니다. –

답변

4

구문 분석에 사용하는 형식에 AM/PM 필드를 추가해야합니다. 정확하게 질문에 대답하지

HH:mm tt 

대신

HH:mm 
+0

고마워, 이건 내가 성취하려고 시도한거야. – Dodinas

1

의 사용 시도하지만, DateJS 조금 오래된 보인다. 나는 당신이 할 수있는 당신이 Moment.js에서 살펴 제안 :

moment("03:15 PM", "hh:mm A").isAfter(moment("03:05 PM", "hh:mm A")); 
// false 
+1

제안 해 주셔서 감사합니다. 이것은 흥미로웠다, 나는 그것을 조사해야 할 것이다. – Dodinas

0

왜 toString를 사용하지?

var g = new Date("2012-01-11 03:15 PM"); 
console.log(g.toString('HH:mm')); 

올바른 날짜 문자열 형식을 얻으려면 ficticious 날짜를 추가하십시오. 당신은 단지 시간이 필요하지 않다고 생각합니다.

그것은 저와 잘 맞습니다.

0

Date.parseExact을 @matthewtole에서 제공하는 형식으로 사용할 수 있습니다. 그렇지 않으면 'Date.parse'도 사용할 수 있습니다.

Date.parseExact은 두 값을 구문 분석하는 경우 성능 향상이 Date.parseExact 일 때 그다지 차이가 ​​없을 것입니다.

.isBefore() 함수를 사용하여 한 날짜가 다른 것보다 먼저 발생하는지 확인할 수도 있습니다.

var d1 = Date.parse("07:15 AM"); 
var d2 = Date.parse("08:30 AM"); 

d1.isBefore(d2); // true 

희망이 도움이