자바에서 문자열을 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이라고 출력돼요..

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

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.