2010-08-05 5 views
1

안녕하세요,Java의 문자열 날짜 :

문자열을 날짜 형식으로 변환 중입니다. 그러나 잘못된 날짜를 반환합니다. 예를 들어,

String startDate = "08-05-2010"; // (MM/dd/yyyy) 

내가 원하는,이 같은 05 - 7 월 10

어떻게 그렇게하기를이에 "날짜"개체를 변환하는? 나는 이렇게 시도했다.

SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy"); 
scal1.setTime(dateFormat.parse((startDate))); 

그러나 나는 "Unparseable date :"를 얻고있다.

답변

3

당신이 날짜로 문자열을 구문 분석 할 필요가, 당신은 형식()를 사용할 수) (SimpleDateFormat 클래스

첫 번째 방법을 구문 분석 소스 패턴을 설정하는 구문 분석() 메소드를 사용하여 객체를 다음 타겟 패턴을 설정하는 형식() 메소드를 사용하여 날짜 오브젝트를 포맷 :

SimpleDateFormat sourceFormat = new SimpleDateFormat("MM-dd-yyyy"); 
Date sourceFormatDate = sourceFormat.parse("08-05-2010"); 
SimpleDateFormat destFormat = new SimpleDateFormat("dd-MMM-yy"); 
String destFormatDateString = destFormat.format(sourceFormatDate); 
System.out.println(destFormatDateString); // 05-Aug-10 
2

뭔가를 버린 경우를 제외하고는 잘못된 형식으로 구문 분석하려는 것처럼 보입니다. 예를 들어 mm-dd-yyyy가 있고 형식을 dd- MMM-yy. 인코딩중인 내용을 분석 할 때 별도의 날짜 형식을 사용해보십시오. 다른 형식으로 한 형식의 날짜 문자열을 변환 할 경우

1
SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”); 
String strDate = “2007-12-25″; 
Date date = null; 
try { 

    date = format.parse(strDate); 

} catch (ParseException ex) { 

    ex.printStackTrace(); 

} 
0

형식 dd-MMM-yy 당신이 문자열이 잘못 구문 분석하는 데 사용; 형식은 dd-MM-yyyy이어야합니다.

Date 자체가 형식이없는 오브젝트 것을
String startDate = "08-05-2010"; 
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); 
Date date = dateFormat.parse((startDate)); 

주 : int 그냥 숫자입니다 단지처럼 Date 객체 그냥 날짜와 시간 값을 나타냅니다, 그리고 어떤 고유 한 서식 정보가 없습니다. 특정 형식으로 Date을 표시하려면 DateFormat 개체를 다시 사용해야합니다.

DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy"); 
System.out.println(dateFormat.format(date)); 
// output: 08-May-10