2012-12-03 2 views
-3
String str_date = currentMonth + 1 + "-" + value.toString() + "-" + currentYear; 
      DateFormat formatter ; 
      Date date = null ; 
      formatter = new SimpleDateFormat("dd-MMM-yy"); 
      try { 
       date = (Date)formatter.parse(str_date); 
      } 
      catch (ParseException e) { 
       e.printStackTrace(); 
      } 
      System.out.println(date); 

안녕하세요, 문자열을 검색하려고했지만 거의 모든 사람이이 종류의 코드를 사용하지만 null을 여전히 인쇄하고있는 것 같습니다. 고맙습니다.구문 분석 문자열

+5

파싱하기 전에 실제로'str_date'에 무엇이 있는지 살펴 보았습니까? –

+0

제발 하지마. 여러면에서 잘못입니다. – duffymo

+1

... 일단 그렇게했다면 포맷터를 사용하여 실제 날짜 ('new Date()')를 포맷하여 여러분이보고있는 내용이 예상 한 것과 일치하는지 확인하십시오. –

답변

0

당신이 실제로 원하는에 따라 하나

formatter = new SimpleDateFormat("dd-MM-yyyy"); 

또는

formatter = new SimpleDateFormat("MM-dd-yyyy"); 

보십시오. 코드에서 패턴의 첫 번째 부분으로 한 달을 보내고 싶다고 제안합니다.

currentMonth + 1이 원하는 것인지 확인하십시오. currentMonth이 12이면 +1은 내년 1 월로 날짜를 푸시합니다.

또한 Locale을 사용하는 데 익숙해 지도록하십시오. 기본 컴퓨터가 작동하지만 다른 컴퓨터에서는 작동하지 않습니다.