String 타입의 날짜를 Date 타입으로 변환하기

우리는 java.util.Date 혹은 java.sql.Date 타입의 객체에서 특정한 형식의 문자열로 날짜를 가져오기 위해서
java.text.SimpleDateFormat 클래스를 이용할 수 있다는 것을 알고 있다.


package javacodesnipet;
/**
* @author 신윤섭
*/
public class SimpleDateFormatTest {

public static void main(String[] args){

// 현재 일시 정보를 갖는 Date 객체를 생성한다.
java.util.Date currentDate = new java.util.Date();
//Date객체로부터 특정한 형식의 문자열로 일시를 만들어내기 위한 포매터를 생성한다.
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy년MM월dd일 HH시mm분ss초");
//포매터를 이용하여 Date객체로부터 문자열을 만들어낸다.
String dateString = format.format(currentDate);
//변환된 문자열을 확인한다. 결과 : 2007년07월22일 02시21분42초
System.out.println(dateString);

}
}

위의 코드는 흔히 사용하는 코드일 것이다.

그런데 이 SimpleDateFormat 클래스의 parse() 메소드를 이용하면 역으로 문자열 형식의 날짜로부터
Date객체를 생성 해낼 수도 있다.

package javacodesnipet;
/**
* @author 신윤섭
*/
public class SimpleDateFormatTest {

public static void main(String[] args){
try {
// "2007-07-22" 이란 문자열로 2007년 7월 22일의 정보를 갖는 Date객체를 만들어보자
String textDate = "2007-07-22";

// 입력할 날짜의 문자열이 yyyy-MM-dd 형식이므로 해당 형식으로 포매터를 생성한다.
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

//SimpleDateFormat.parse()메소드를 통해 Date객체를 생성한다.
//SimpleDateFormat.parse()메소드는 입력한 문자열 형식의 날짜가
//포맷과 다를경우 java.text.ParseException을 발생한다.
java.util.Date date = format.parse(textDate);

//위에서 만든 date객체가 정말 7월22일인지 확인 해보자.
java.text.SimpleDateFormat format1 = new java.text.SimpleDateFormat("yyyy년MM월dd일 HH시mm분ss초");
String dateString = format1.format(date);
//Date객체의 날자를 확인한다.. 결과 : 2007년07월22일 00시00분00초
System.out.println(dateString);
} catch (java.text.ParseException ex) {
ex.printStackTrace();
}

}
}

이 글의 관련글
  • 터미널서버(Terminal Server)의 포트를 변경하는 방법
  • 몇가지 사소한 넷빈즈 팁
  • 윈도우 서비스모드로 설치한 톰캣 4의 설정 변경하기
  • JAVA Hot Deploy 도구 Jrebel ( 舊 JavaRebel )
  • Vector에 대한 소고
  • 넷빈즈(NetBeans) 실행하기 - Option 둘러보기 v1.0
  • finalize 메소드의 오버라이딩을 자제해야 하는 이유.
  • 넷빈즈(NetBeans) 실행하기 - ClassPath 설정 v1.0
  • ANT 를 이용한 RMI 컴파일 ( rmic 로 stub 생성하기 )
  • 2008/07/22 01:59 2008/07/22 01:59
    Trackback Address:http://www.yunsobi.com/blog/trackback/408
    [로그인][오픈아이디란?]