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

【JavaScript ECMAScript】Intl::Intl.RelativeTimeFormat() constructorコンストラクタの使い方

Intl.RelativeTimeFormat() constructorコンストラクタの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Intl.RelativeTimeFormat() constructorクラスは、指定されたロケールとオプションに基づいて、相対的な時間差を人間が読める形式にフォーマットするためのオブジェクトを生成するクラスです。このクラスは、例えば「2日前」や「3ヶ月後」といった時間差の表現を、異なる言語や地域(ロケール)のルールに合わせて整形する目的で使用されます。

システムエンジニアを目指す初心者の方々にとって、この機能は多言語対応(国際化、i18n)が求められるアプリケーション開発において非常に役立ちます。具体的には、ウェブサイトやアプリケーション上で「投稿から1時間前」や「イベントまであと5日」のような情報を、ユーザーの言語設定に応じて自動的に表示したい場合に利用します。

コンストラクタを呼び出す際には、まずlocales引数で、どの言語や地域のルールに従って時間をフォーマットするかを指定します。例えば、['ja-JP']を指定すれば日本語のルールで、['en-US']を指定すればアメリカ英語のルールでフォーマットされます。これにより、開発者が手動で多言語の文字列を管理する手間を大幅に削減できます。

また、options引数では、フォーマットの詳細な挙動を設定できます。例えば、numericオプションを'auto'に設定すると、「昨日」や「明日」といった単語での表現が可能な場合にはそれが優先され、'always'に設定すると常に「1日前」のように数値と単位で表現されます。styleオプションでは、'long'(例: "1日前")、'short'(例: "1日後")、'narrow'(より短い形式)といった表示スタイルの長さを選択できます。

このクラスを利用することで、開発者は複雑な日付計算や多言語対応の文字列管理ロジックを自力で実装することなく、高品質で国際化された相対時間表示を簡単に実現できます。

公式リファレンス: Intl.RelativeTimeFormat() constructor

構文(syntax)

1new Intl.RelativeTimeFormat('en-US');

引数(parameters)

locales = undefined, options = undefined

  • locales: string | string[] | undefined: フォーマットに使用するロケール (例: 'en-US', 'ja-JP') を指定します。指定しない場合は、実行環境のデフォルトロケールが使用されます。
  • options: Intl.RelativeTimeFormatOptions | undefined: フォーマットの表示方法をカスタマイズするためのオプションオブジェクトを指定します。

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語