【JavaScript ECMAScript】Temporal::Temporal.ZonedDateTime.prototype.withPlainTimeインスタンスメソッドの使い方
Temporal.ZonedDateTime.prototype.withPlainTime()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Temporal.ZonedDateTime.prototype.withPlainTime()メソッドは、既存のTemporal.ZonedDateTimeオブジェクトが持つ日時情報のうち、時刻の部分のみを、指定された新しいTemporal.PlainTimeオブジェクトで置き換えることで、新しいTemporal.ZonedDateTimeオブジェクトを生成するメソッドです。Temporal.ZonedDateTimeは、特定の日付と時刻に加えて、その日時がどのタイムゾーンに属するかという情報を持つ、タイムゾーン対応の日時オブジェクトです。一方、Temporal.PlainTimeは、タイムゾーンや日付情報を含まず、純粋な時刻(例:午前9時30分30秒)のみを表すオブジェクトです。
このメソッドを使用すると、元のZonedDateTimeオブジェクトの日付やタイムゾーンはそのまま保持しつつ、時刻だけを変更した新しい日時オブジェクトを効率的に作成することができます。引数としては、新しい時刻として設定したいTemporal.PlainTimeオブジェクトを直接渡すか、時刻を表す文字列(例:"09:30")、または時刻の各要素をプロパティとして持つオブジェクトを指定できます。メソッドは、時刻が変更された新しいZonedDateTimeオブジェクトを返します。元のZonedDateTimeオブジェクト自体は変更されず、不変(イミュータブル)であるというTemporalオブジェクトの特性を維持します。例えば、ある日付とタイムゾーンにおける会議の開始時刻だけを変更したいが、日付とタイムゾーンは変えたくないといった場合に、このメソッドが非常に役立ちます。
構文(syntax)
1// Temporal.ZonedDateTimeオブジェクトを作成します 2const zonedDateTime = Temporal.ZonedDateTime.from("2023-10-27T10:00:00+01:00[Europe/Berlin]"); 3 4// 新しい時刻としてTemporal.PlainTimeオブジェクトを作成します 5const newPlainTime = Temporal.PlainTime.from("14:30:00"); 6 7// withPlainTime() メソッドを使って、元のZonedDateTimeのタイムゾーンを保持しつつ時刻部分を新しいPlainTimeに置き換えます 8const updatedZonedDateTime = zonedDateTime.withPlainTime(newPlainTime);
引数(parameters)
plainTimeLike, options
- plainTimeLike: 時間のみを表すオブジェクトまたはそれに変換可能な値。
Temporal.PlainTimeオブジェクト、または時、分、秒、ミリ秒、マイクロ秒、ナノ秒を指定するオブジェクトリテラルを指定できます。 - options: オプションを指定するオブジェクト。現時点では利用されません。
戻り値(return)
Temporal.ZonedDateTime
このメソッドは、元の Temporal.ZonedDateTime オブジェクトの年月日とタイムゾーンを保持したまま、指定された時刻情報(時、分、秒、ミリ秒、マイクロ秒、ナノ秒)に更新された新しい Temporal.ZonedDateTime オブジェクトを返します。