우리는 java.util.Date 혹은 java.sql.Date 타입의 객체에서 특정한 형식의 문자열로 날짜를 가져오기 위해서
java.text.SimpleDateFormat 클래스를 이용할 수 있다는 것을 알고 있다.
[code]
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);
}
}
[/code]
위의 코드는 흔히 사용하는 코드일 것이다.
그런데 이 SimpleDateFormat 클래스의 parse() 메소드를 이용하면 역으로 문자열 형식의 날짜로부터
Date객체를 생성 해낼 수도 있다.
[code]
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();
}
}
}
[/code]