Date.prototype.setYear()

非推奨;: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

古い setYear() メソッドは、指定された日付の年をローカル時間に従って設定します。

しかし、古い setYear() メソッドが年を設定する方法は、好ましい setFullYear() メソッドが年を設定する方法と異なり、いくつかのケースでは new Date()Date.parse() が年の値を設定する方法とも異なっています。詳細度は、2261 のような 2 桁の数字が指定された場合、以下のようになります。

  • setYear() は任意の 2 桁の数字を 1900 へのオフセットとして解釈します。したがって、 date.setYear(22) は年の値を 1922 に、 date.setYear(61) は年の値を 1961 に設定することになります(一方、 new Date(61, 1) は年の値を 1961 に設定しますが、 new Date("2/1/22") は年の値を 2022 に設定し、同様に Date.parse() も同じになります)。

  • setFullYear() は特別な解釈をせず、 2 桁のリテラル値をそのまま使用して年を設定します。したがって、 date.setFullYear(61) は年の値を 0061 に、 date.setFullYear(22) は年の値を 0022 に設定する結果となります。

これらの動作の違いから、古いメソッドである setYear() はもう使用せず、代わりに推奨の setFullYear() メソッドを使用してください。

構文

js
setYear(yearValue)

引数

yearValue

整数値。

返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値。

解説

yearValue が 0 から 99 までの値の場合、 dateObj の「年」には 1900 + yearValue が設定されます。そうでない場合、dateObj の「年」には yearValue が設定されます。

setYear() の使用

最初の 2 行は「年」を 1996 に設定します。3 行目は、「年」を 2000 に設定します。

js
const theBigDay = new Date();

theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-date.prototype.setyear

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
setYear
Deprecated

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Deprecated. Not for use in new websites.

関連情報