2013-06-14 3 views
1

날짜가 YYYYMMDD 형식 (예 : 20130614) 인 문자열이 있는데이를 날짜로 변환하고 다음과 같이 인쇄하고 싶습니다. 'Day Month Day Year'(예 : 2013 년 6 월 14 일 금요일). SimpleDateFormat을 사용하여이 작업을 시도했지만 날짜 및 시간이 반환됩니다 (시간이 필요하지 않음) (예 : Fri Jun 14 00:00:00 EET 2013).문자열을 날짜 개체로 변환하는 방법

내 코드는 다음과 같습니다 또한

String tmpValue = "20130614"; 
Date date = (Date) new SimpleDateFormat("yyyyMMdd").parse(tmpValue); 

, 내가 YYYYMMDD 형식으로 다시 문자열로 변환 인쇄 후합니다. 가능한가?

답변

5

Date 클래스는 날짜가 시간 (혼란스럽게 표시됨)이므로 시간에 관계없이 구성 요소를 얻을 수 있습니다. 사용하기 쉽고 직관적 인 날짜/시간 API에 대한 표준 권장 사항은 이러한 특정 모델을 제공하는 Joda을 사용하는 것입니다.

두 번째 질문에 답하려면 SimpleDateFormat을 다시 사용하여 문자열로 다시 변환 할 수 있습니다 (문서 확인). 이전과 마찬가지로 SimpleDateFormat 클래스가 (반 직관적으로) 스레드로부터 안전하지 않으므로 Joda를 권장합니다!

+0

+1. 그런데 여기에 필요한 Joda 클래스는 'LocalDate'입니다. – LaurentG

+0

감사합니다. Joda를 사용합니다. – user1005633

0

시도 : JodaTime에 대한

SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); 
Date data = new Date(format.parse(tmpValue).getTime()); 
관련 문제