자바에서 문자열을 date 형식으로 바꾸는법.


String date_s = "2011-01-18 00:00:00.0"; 이런 문자열을 자바에서 Date형로 바꿔서 YYYY_MM_DD형식으로 출력하고 싶은데 어떻게해야하죠?

String date_s = " 2011-01-18 00:00:00.0"; 
SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss"); 
Date date = dt.parse(date_s); 
SimpleDateFormat dt1 = new SimpleDateFormat("yyyyy-mm-dd");
System.out.println(dt1.format(date));

이렇게 해봤는데 2011-01-18로 출력은 안되고 02011-00-1이라고 출력돼요..

  • 2016년 01월 16일에 작성됨

조회수 464


1 답변


좋아요
0
싫어요
채택취소하기

아래 예처럼 SimpleDateFormat#parse()는 String을 date형으로 바꿔줍니다.

String oldstring = "2011-01-18 00:00:00.0";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring);

impleDateFormat#format()는 Date형식으로 String에 값을 넣어줍니다.

String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(newstring); // 2011-01-18

그리고 javaDoc의 SimpleDateFormat 를 읽어보면 M은 달을 의미하고 m은 분을 의미합니다. 또 year은 yyyyy처럼 다섯자리가 아니라 네자리입니다.

  • 2016년 01월 16일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close