Date.prototype.setYear()
非推奨;: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。
setSeconds() は Date インスタンスのメソッドで、地方時に基づき、指定された日時の「年」を変更します。
しかし、古い setYear() メソッドが年を設定する方法は、好ましい setFullYear() メソッドが年を設定する方法と異なり、いくつかのケースでは new Date() や Date.parse() が年の値を設定する方法とも異なっています。詳細度は、22 や 61 のような 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() メソッドを使用してください。
構文
setYear(yearValue)
引数
yearValue-
整数値。
返値
その場で Date オブジェクトを変更し、新しいタイムスタンプを返します。 yearValue が NaN (または undefined など、 NaN に変換されるその他の値)の場合、日付は無効な日時に設定され、 NaN が返されます。
解説
yearValue が 0 から 99 までの値の場合、 dateObj の「年」には 1900 + yearValue が設定されます。そうでない場合、dateObj の「年」には yearValue が設定されます。
例
>setYear() の使用
最初の 2 行は「年」を 1996 に設定します。3 行目は、「年」を 2000 に設定します。
const theBigDay = new Date();
theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-date.prototype.setyear> |
ブラウザーの互換性
Loading…