【JavaScript ECMAScript】Temporal::Temporal.PlainDateTime.prototype.withCalendarインスタンスメソッドの使い方
Temporal.PlainDateTime.prototype.withCalendar()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Temporal.PlainDateTime.prototype.withCalendar()メソッドは、既存のTemporal.PlainDateTimeオブジェクトが保持する年、月、日、時、分、秒といった日付と時刻の各要素はそのままに、使用する暦(カレンダー)のみを変更した新しいTemporal.PlainDateTimeオブジェクトを生成するメソッドです。
このメソッドは、国際的なアプリケーション開発などで、異なる暦体系での日付表現や計算が必要な場合に特に役立ちます。例えば、標準的なISO 8601暦で表現されている日付と時刻の情報を、グレゴリオ暦や日本暦といった特定の暦として解釈し直したい場合に利用されます。
具体的には、このメソッドを呼び出す際に、引数として変更したい新しい暦の識別子を文字列で指定します。例えば、'gregory'や'japanese'といった暦の名称を渡すことで、元のオブジェクトの日付や時刻の数値(例:2023年10月26日)はそのまま維持しつつ、その解釈に用いる暦だけが置き換えられた新しいインスタンスが返されます。
重要な点として、元のTemporal.PlainDateTimeオブジェクト自体は一切変更されず、常に新しいオブジェクトが生成されます。これにより、プログラムの意図しない変更を防ぎ、予測可能なコードを記述できます。現在のタイムスタンプを維持したまま、特定のカレンダー体系での表示や計算が必要なシナリオにおいて、柔軟かつ安全に日付と時刻の情報を操作することが可能です。
構文(syntax)
1const plainDateTimeInstance = Temporal.PlainDateTime.from('2023-01-01T12:00:00'); 2const newPlainDateTime = plainDateTimeInstance.withCalendar('gregory');
引数(parameters)
calendarLike
- calendarLike: カレンダーオブジェクトまたはカレンダーを識別する文字列
戻り値(return)
Temporal.PlainDateTime
指定された日付と時刻を基に、新しいカレンダーを持つ Temporal.PlainDateTime オブジェクトを返します。