본문 바로가기
프로그래밍 언어/자바스크립트

[자바스크립트] javascript로 년도 가져올 때 getYear() 대신 getFullYear()를 사용하자.

by 우림 2014. 11. 5.

요즘 제가 하고 있는 프로젝트에서 ie11과의 호환을 위한 수정작업을 하고 있습니다.

그런데, 자바스크립트에서 년도를 가져오기 위해 사용하는 getYear()라는 메소드가 ie11에서는 대부분 에러를 발생하고 있습니다.

해결 방법을 알아본즉,,,

 

1,900년을 0을 기준으로 1901년은 1을, 1899년은 -1을 return합니다.
즉, getYear()가 제대로 된 값을 가지고 오지 못합니다.


* 해결 방법

getYear() ==> getFullYear() 로 바꾸면 됩니다.

 

그래서, 왜 이제까지는 getYear()를 사용해도 문제가 없었는데 ie11에서만 getYear()에서 문제가 발생하는지 알아보았더니 지금까지 ie에서만 사용되던 함수이고, 다른 브라우저에서는 여전히 문제가 되고 있었던 함수라는 걸 알게 되었습니다. 이번에 ie11에서 호환성을 강화하다보니 에러가 발생했던 거구요.

 

http://www.w3schools.com/jsref/jsref_obj_date.asp

이곳에서도 getYear() 함수는 더이상 사용하지 않으니 getFullYear()를 사용하라고 가이드하고 있네요.

 

 

익스플로러 이외의 브라우저 비율이 꾸준히 늘어나고 있고,

ie11부터는 웹표준이 강화되고 있기 때문에 웹디자인이나 웹퍼블리셔, 웹프로그래머 분들은 앞으로 더욱 더 호환성 문제에 신경쓸 수 밖에 없을 것 같네요.

댓글