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

조회수 79440회

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이라고 출력돼요..

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    아래 예처럼 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처럼 다섯자리가 아니라 네자리입니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)