31

私は JavaScript のDateオブジェクトを扱っていましたが、どこかで初めて日付の年の部分を抽出する必要がありました。私が見たのは奇妙な行動でした。2013ではなく113が返され、最後の 2 つの数字が同じである可能性があることを除けば、これら 2 つの数字がどのように関連しているのかわかりません。

var date = new Date();
console.log(date.getYear()); // prints 113
console.log(date.getFullYear()); // prints 2013

これらの機能はどのように異なるのですか? そして、なぜ機能を持っているのgetFullYearですか?一年の一部を取得することは、私には意味がありません。

4

3 に答える 3

55

一年の一部を取得することは、私には意味がありません。

メモリが高価で 2000 年が遠い未来だった当時、人々が 1975 年を 75 と表現することは理にかなっていました。振り返ってみると、近視眼的な決定でした。

date.getFullYear() == date.getYear() + 1900
于 2013-04-30T09:51:44.523 に答える
7

getYear()リターン年マイナス1900。これはしばらくの間廃止されています。使用するのが最善getFullYear()です。

于 2013-04-30T09:55:06.920 に答える
3

それは2000年問題で、基本的にgetYearメソッドは年から1900年を引いたものを返します。

そのため、代わりに移動してそれを使用することをお勧めしgetFullYearます。

于 2013-04-30T09:53:02.423 に答える