2014-10-17 2 views
0

문자열 ("01-OCT-2014")을 날짜 형식으로 변환하려고합니다.UNIX 환경에서 Java를 사용하여 문자열을 날짜로 변환하는 방법

아래 코드는 제 코드입니다.

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy"); 
Date d= formatter.parse("01-OCT-2014"); 
System.out.println("Converted date:"+d); 

위의 코드는 Windows에서 정상적으로 작동합니다.

하지만 유닉스 환경에서 실행하고 때, 그것은

어느 한이 문제를 해결 나를 도울 수있는 예외 파싱 할 일 ..

+0

확인 : http://stackoverflow.com/a/16871410/2591002 –

답변

2

을 던지고 나는 문제가 단순히 의심하여 Unix 환경은 영어 로켈에서 실행되지 않습니다. 따라서 달 이름을 구문 분석하려고 시도 할 때 올바른 값으로 "OCT"를 인식하지 못합니다.

나는 다음과 같은 코드를 사용하는 것이 좋습니다 것입니다 :

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy", Locale.US); 
Date d = formatter.parse("01-OCT-2014"); 
System.out.println("Converted date: " + d); 

는 또한 포맷터의 시간대를 지정할 수 있습니다 - 당신은 그냥 다음 나을 UTC를 사용하여 날짜를 구문 분석하는 경우. Date.toString()을 사용하고 있기 때문에 결과물에 시스템 로컬 시간대가 사용됩니다. 이 아니기 때문에 Date에는 데이터에 시간대 개념이 없습니다. Date은 단지 적절한 시점입니다.

+0

감사합니다. jon Skeet –

관련 문제