Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Date::Date.prototype.setYearインスタンスメソッドの使い方

Date.prototype.setYear()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Date.prototype.setYear()メソッドは、指定されたDateオブジェクトの年を設定するメソッドです。このメソッドは、引数として渡された数値を基に、対象のDateオブジェクトの年を変更します。引数の解釈には特定のルールがあり、0から99までの数値が渡された場合、それは1900年からのオフセットとして扱われます。例えば、setYear(99)と指定すると1999年が設定され、setYear(5)と指定すると1905年が設定されます。一方で、100以上の数値が渡された場合は、その数値がそのまま年として解釈されます。例えば、setYear(2023)と指定すると2023年が設定されます。

このメソッドを使用しても、元のDateオブジェクトの月や日付は変更されません。メソッドの実行後には、変更されたDateオブジェクトのUTC(協定世界時)1970年1月1日0時0分0秒からの経過ミリ秒数を示す数値が戻り値として返されます。

しかしながら、Date.prototype.setYear()メソッドは現在、非推奨とされています。これは、特に2桁の年数を扱う際に、その解釈が曖昧であり、開発者の意図しない年が設定されてしまう可能性があるためです。この曖昧さが予期せぬバグを引き起こす原因となることがあるため、年を設定する際には、より明確で予測可能な挙動をするDate.prototype.setFullYear()メソッドの使用が強く推奨されます。システム開発においては、非推奨の機能ではなく、推奨される代替メソッドを利用することが安全で確実です。

公式リファレンス: Date.prototype.setYear()

構文(syntax)

1const dateObject = new Date();
2dateObject.setYear(2024);

引数(parameters)

yearValue

  • yearValue: number: 設定する年を表す数値

戻り値(return)

number

このメソッドは、Dateオブジェクトが表す年を設定した後に、1970年1月1日 00:00:00 UTCからの経過ミリ秒数を数値で返します。

関連コンテンツ

関連プログラミング言語