Page 1 of 1
new Date() 문제 입니다.
Posted: 2005 05 21 10:41 52
by bumworld
var nowDate = new Date();
var year = nowDate.getYear();
를 했을경우 year이 105가 나옵니다.
다른 달이나 일은 잘 나오는데 연도가 105로 나오네요..
이게 무슨문제 인가요??
Posted: 2005 05 21 14:15 56
by yser
y2k 버그 같네요..
옛날 1999 -> 2000 년으로 옮겨가던 중에 유명한 증상 중 하나가, 년도를 2 자리 숫자로 표기하던 프로그램에서 1999 년이면 99 이렇게 저장했기 때문에, 단순 + 계산을 하면 2000 년은 100 이 되어 버렸습니다. perl 로 만든 cgi 프로그램에서 그 증상이 특히 유명했었는데... 지금은 다들 고친 버그죠.
근데 정말 그러네요.. 익스는 2005 나오는데, 파폭은 105 네요..
내부적으로 년도 계산을 두 자리로 하는가 봅니다. 임의로 19xx 년이라 가정하고... 4 자리로 계산 안하고 왜 저렇게?? 버그질라에 이미 오래 전에 올라왔었을 거 같은데... 묘하네요. 설마 한글판만 그런건 아닐테고.
Posted: 2005 05 21 14:56 50
by hyeonseok
javascript 에서는 Y2K 때문에 getFullYear 라는 메서드를 제공하고 있습니다.
http://www.quirksmode.org/js/datecompat.html
Posted: 2005 05 22 02:52 13
by 빛알갱이
yser wrote:
근데 정말 그러네요.. 익스는 2005 나오는데, 파폭은 105 네요..
내부적으로 년도 계산을 두 자리로 하는가 봅니다. 임의로 19xx 년이라 가정하고... 4 자리로 계산 안하고 왜 저렇게?? 버그질라에 이미 오래 전에 올라왔었을 거 같은데... 묘하네요. 설마 한글판만 그런건 아닐테고.
MS IE가 틀렸고, 모질라가 맞는 것입니다. ECMA 262에서 getYear는 서기 연도에서 1900을 뺀 값을 돌려 주도록 규정하고 있습니다. hyeonseok님이 쓰신 대로 getFullYear를 써야 합니다. 의심나시면 ECMA 262 (google에서 'ECMAscript standard'로 찾으면 바로 나옵니다)에서 getYear() 부분을 보십시오.
참, 한국어판과 다른 언어판 사이에는 실행 파일에 관한 한 아무런 차이도 없습니다. 오직 차이는 메뉴와 도움말에 어떤 언어를 쓰느냐입니다. 거기에 더해서 몇 가지 기본 설정값만 다릅니다. charset을 지정하지 않은 페이지를 볼 때 쓸 인코딩 값이 한국어 판에서는 EUC-KR이고 프랑스어 판에서는 ISO-8859-1인 것과 같은). 이들 설정이나 도움말, 언어 등은 실행 파일에 들어 있는 것이 아니라 외부 리소스, 프로퍼티 파일 등에 따로 들어 있습니다. 모든 현대적인 프로그램은 모두 다 이런 식으로 개발합니다.
감사합니다..
Posted: 2005 05 23 11:47 55
by bumworld
그렇군요..
참..요즘 조금씩 개발자 포럼을 보면서 바꿔가고 있는데..
의외로 그렇게 복잡하고 귀찮은 작업같지 않습니다.
예전에는 굉장히 큰 일인줄 알았는데 조금만 신경써주면 가능할듯하네요.
현재 쇼핑몰쪽 작업을 하고있는데 할수 있는 부분까지는 해봐야 겠습니다.
도움 주셔서 감사드립니다.
Posted: 2005 05 23 11:58 10
by 빛알갱이
도움이 되셨다니 (저야 뒷북 쳤지만) 다행입니다. 또, 브라우저 독립적으로 표준을 지켜서 웹 사이트를 제작하신다니 반가운 일입니다. 경험하신 것 - 그리 어렵지 않더라는-을 다른 개발자나 디자이너들에게도 널리 알려서 한국 인터넷 환경 개선에 일조하셨으면 좋겠습니다.
맞습니다.
Posted: 2005 05 23 21:52 29
by 박민권
bumworld wrote:그렇군요..
참..요즘 조금씩 개발자 포럼을 보면서 바꿔가고 있는데..
의외로 그렇게 복잡하고 귀찮은 작업같지 않습니다.
예전에는 굉장히 큰 일인줄 알았는데 조금만 신경써주면 가능할듯하네요.
현재 쇼핑몰쪽 작업을 하고있는데 할수 있는 부분까지는 해봐야 겠습니다.
도움 주셔서 감사드립니다.
맞는 말씀입니다.
우리 개발자들이 조금씩만 신경써도 웹접근성은 높아집니다.
그럼에도 이 조금을 신경쓰지 않아서 표준브라우저로 접근시 오류가 발생하는 곳들이
많아서 안타깝습니다.