반응형

쓰다보면 별 생각없이 사용했던 Date 클래스.

심지어 util.Date 인지 sql.Date인지도 생각도 안하고 썼는데.. (있는지도 잘 몰랐네 -_-)

그런데 이런 차이점이 있었다..


일단 sql 패키지의 Date 클래스는 java.util.Date 클래스를 상속 받는다. 

그런데.. 문제는 이게 값을 가져올때이다.

오버라이딩한 toString을 찾아보면 


  1. public String toString () {
  2.         int year = super.getYear() + 1900;
  3.         int month = super.getMonth() + 1;
  4.         int day = super.getDate();
  5.         char buf[] = "2000-00-00".toCharArray();
  6.         buf[0] = Character.forDigit(year/1000,10);
  7.         buf[1] = Character.forDigit((year/100)%10,10);
  8.         buf[2] = Character.forDigit((year/10)%10,10);
  9.         buf[3] = Character.forDigit(year%10,10);
  10.         buf[5] = Character.forDigit(month/10,10);
  11.         buf[6] = Character.forDigit(month%10,10);
  12.         buf[8] = Character.forDigit(day/10,10);
  13.         buf[9] = Character.forDigit(day%10,10);
  14.         return new String(buf);
  15.     }


보면. 시/분/초 에 대한 내용이 없다. -_-;

따라서 시/분/초까지 정보를 가져오기 위해서는 java.sql.Date가 아닌 java.util.Date를 사용해야한다.


728x90
반응형

+ Recent posts