JavaScriptのgetYear()メソッドで2005年が105年と表示されてしまう

Web Add comments

JavaScriptプログラミング入門』のサンプルを入力してFirefoxでテストすると、2005年と表示されるべきところが105年となってしまう問題に遭遇。入力ミスかと思い、同じファイルをInternet Explorerで開くと問題なく2005年と表示。

困った時のGoogle頼みで、調べてみるとすぐ回答が見つかりました。 >> Mozilla-gumi Forum [One Topic All View / Re[3]: FireFoxで見ると不思議な事が起こるのですが。 / Page: 0]

getYearは、2000年対応(4桁)以前との互換性(2000年より前は2桁)のために、 ECMA Scriptでは「4桁の年-1900」と規定されていて、 4桁の場合に対してはgetFullYear(JavaScript 1.3から)が規定されています。

どうやらIEのgetYear()メソッドは独自拡張されているので、2000年以降は4桁表示になる模様。勉強になりました。

JavaScriptプログラミング入門』もその辺のことを書いてくれても良いのにと思いながら索引を見てみると、「getFullYear()」の名前を発見。どうやら、もっと先のChapterで解説しているようです。「年を求める場合、通常はこちらを使用した方がよいでしょう。」とか書かれていますが、それならこの本でもこっちを使ってくれれば良いのにね。

One Response to “JavaScriptのgetYear()メソッドで2005年が105年と表示されてしまう”

  1. るみね Says:

    同じ現象で困っちゃっていましたw
    参考になりました!

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン