2015-01-10 3 views
0

24 시간 형식에서 12 시간 형식으로 시간을 포맷 할 때 몇 가지 문제가있었습니다. 다음은 문자열 형식으로 내 시간의 예 중 일부 : 그들 중 일부는 한 자리했고, 일부는 두 있었기 때문에 내가 자바 스크립트에서 처음 두 문자를 SUBSTR 방법JavaScript 서식 지정 시간 24 시간 형식에서 12 시간

궁금
0:00, 9:00, 12:00, 15:00 

. 출력 시간 형식은 다음과 같이 12 시간 형식이어야합니다.

12:00AM, 9:00AM, 12:00PM, 3:00PM 

가이드가 있으십니까? 미리 감사드립니다.

+0

당신은 당신이 그것을 여러 번에 하나의 문자열을 가지고 건가요을? 또한, 왜 "자바"태그? – nnnnnn

+0

그래, 시간은 문자열 형식입니다. –

+1

예, 쉼표로 구분 된 시간당 하나의 문자열 또는 그 안에 네 번있는 단일 문자열? 어느 쪽이든, 문자열 조작 함수를 사용하여 부분을 추출하려면'.substr()'을 고정 길이로 사용하는 대신 정규 표현식을 사용하거나':'문자에'.split()'를 사용할 수 있습니다. – nnnnnn

답변

1

를 얻을 당신은 당신이 처리하는 각 문자열이 (에서 단 하나의 시간, 즉, 네 개의 단일 문자열을 처리하지 않는있을 것이라는 점을 명확히 쉼표로 구분 된 시간). 시간을 추출하는

var input = "9:00"; 

가장 쉬운 방법 및 분 문자열 .split() method을 사용하고 있습니다 : 그래서 기본적으로 다음과 같이 입력을합니다. 귀하의 경우에는 ":"을 사용하십시오 - - 이것은 지정된 문자의 문자열을 분할하고 조각 배열 반환

var parts = input.split(":"), 
    hour = parts[0], 
    minute = parts[1]; 
+0

참조하십시오. 고마워. .plit()을 생각하지 않았습니다. 시간과 분으로 나누어서 변환하는 것이 훨씬 더 쉬웠습니다 :) –

1

확실한 대답은 정규 표현식을 사용하는 것입니다 (하지만 AWZ의 규칙을 기억하십시오 : 문제가있어 RE로 해결할 수 있다고 결정하면 이제 두 개의 prolems가 있습니다). 그러나

, 자신에게 문제의 전체 고약한 많이 저장하고 의견에서 moment.js

+0

하지만이 moment.js를 사용하는 경우, 어떤 카테고리에서이 경우 구현해야합니까? 형식 날짜인가요 ?? –

+0

Parse 메서드를 살펴보십시오. http://momentjs.com/docs/#/parsing/ –

관련 문제