본문 바로가기

web/JSP

Date.getYear()를 쓰지 말자.

-_- 살아생전 밀리니엄버그를 여기서 만나다니;;
요즘에 퍼블리싱일도 하기때문에 브라우져 표준에 최대한 신경쓰고 있는데......!!
크롬과 사파리, 파폭에서 날짜가 이상하게 나오는것을 보고 먼가 했다.(한마디로 IE에서만 된다.)

var lastymd;
 str =   fMonth.value +  "-" + fDay.value+ "-" +  fYear.value;
lastymd = new Date(str);  //날짜 포멧에 따른 날짜 형태로 변환.

/
/날짜 계산후
//특정 필드에 값을 집어 넣는다.
order_ymd.value = lastymd.getYear()+"-"+month+"-"+day  ; 

아무리 찾아봐도 메소드도 맞고 IE에서는 값이 잘 나와서 날짜 계산만 보고 있었는데 이거왠;;
getYear() 함수는 폐기 함수다.
반환값이 2000년 이 넘어가면 포멧에 문제가 생긴단다.
만일 getYear()로 현재 년도를 받으면 111이 나온다. 

IE에서는 자체적으로 처리해줘서 2011년도를 정상적으로 찍어주고 있었다.;;(이걸 좋아해야하나..)
어쩄든 폐기메소드이므로 쓰지말고

getFullYear()를 쓰시면 된다.
now.getFullYear()

-혹시 협정 세계 표준시(UTC)를 원한다면 getUTCFullYear()를 사용하면 된다.