このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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() メソッドを使用してください。
In this article
構文
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> |