【JavaScript ECMAScript】Temporal::Temporal.Instant.prototype.subtractインスタンスメソッドの使い方
Temporal.Instant.prototype.subtract()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Temporal.Instant.prototype.subtract()メソッドは、既存のTemporal.Instantオブジェクトから指定された時間量を減算し、新しいTemporal.Instantオブジェクトを生成するメソッドです。Temporal.Instantは、特定の瞬間を協定世界時(UTC)のエポックからの経過時間として高精度に表現するオブジェクトです。これは、タイムゾーンやカレンダーの概念を含まないため、純粋な時間軸上の点を扱います。
このsubtract()メソッドは、引数としてTemporal.Durationオブジェクトなど、時間の長さを表す値を指定します。メソッドが呼び出されると、現在のTemporal.Instantオブジェクトが示す時刻から、指定された時間量だけ前の時刻を計算します。計算結果は、元のTemporal.Instantオブジェクトを変更することなく、常に新しいTemporal.Instantオブジェクトとして返されます。これは、データが意図せず変更されることを防ぐ「不変性(immutable)」という重要な特性に基づいています。
例えば、ある出来事が発生した正確な時刻から、特定の時間(例:5時間前、3日前)だけ過去の時刻をプログラム上で安全かつ正確に求める場合などに利用されます。Temporal.Instant.prototype.subtract()メソッドは、高精度な時刻計算が求められるシステムにおいて、信頼性の高い時間操作を提供します。
構文(syntax)
1const instant = Temporal.Instant.from('2023-10-27T10:00:00Z'); 2const duration = Temporal.Duration.from({ hours: 1, minutes: 30 }); 3const newInstant = instant.subtract(duration);
引数(parameters)
temporalDurationLike
- temporalDurationLike: Temporal.Durationオブジェクト、またはISO 8601期間表記の文字列、または年、月、日、時、分、秒、ミリ秒、マイクロ秒、ナノ秒のいずれかのプロパティを持つオブジェクト。減算する期間を指定します。
戻り値(return)
Temporal.Instant
指定された時間(Duration)を現在のInstantから減算した新しいInstantオブジェクトを返します。