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

【JavaScript ECMAScript】Temporal::Temporal.ZonedDateTime.prototype.subtractインスタンスメソッドの使い方

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

作成日: 更新日:

基本的な使い方

Temporal.ZonedDateTime.prototype.subtract()メソッドは、指定された期間を現在のTemporal.ZonedDateTimeオブジェクトから減算し、その結果として新しいTemporal.ZonedDateTimeオブジェクトを生成するメソッドです。このメソッドを使用することで、特定の日時とタイムゾーンの組み合わせから、一定の期間だけ過去の日時を正確に計算できます。

引数としては、減算したい期間を表すオブジェクトを受け取ります。この期間は、Temporal.Durationオブジェクトのインスタンスであるか、あるいは年、月、日、時間などの各単位で期間を指定するプレーンなJavaScriptオブジェクトの形式で渡すことが可能です。例えば、「3日と12時間」や「2ヶ月」といった期間を指定できます。

このメソッドが返すのは、計算結果を示す新しいTemporal.ZonedDateTimeオブジェクトであり、元のTemporal.ZonedDateTimeオブジェクトは一切変更されません。これは、JavaScriptのTemporal APIがイミュータブル(不変)なオブジェクトを扱う設計になっているためです。計算時には、対象となるタイムゾーンの夏時間(サマータイム)の切り替わりやうるう秒などのルールが自動的に考慮されるため、複雑な日付と時刻の減算処理も正確に行うことができます。この機能は、スケジュールの管理やイベントの逆算など、タイムゾーンを考慮した厳密な日時計算が必要なアプリケーション開発において非常に役立ちます。

構文(syntax)

1const initialZonedDateTime = Temporal.ZonedDateTime.from('2023-10-27T10:00:00[America/New_York]');
2const durationToSubtract = { hours: 5, minutes: 30 };
3const resultZonedDateTime = initialZonedDateTime.subtract(durationToSubtract);

引数(parameters)

durationLike

  • durationLike: 減算する期間を指定するオブジェクト。Temporal.Duration、または期間を表すオブジェクトリテラル(例: { years: 1, months: 2 })を指定できます。

戻り値(return)

Temporal.ZonedDateTime

このメソッドは、指定された期間を元の Temporal.ZonedDateTime オブジェクトから減算した結果として、新しい Temporal.ZonedDateTime オブジェクトを返します。

関連コンテンツ

関連プログラミング言語