【JavaScript ECMAScript】Intl::Intl.RelativeTimeFormat.prototype.formatインスタンスメソッドの使い方
Intl.RelativeTimeFormat.prototype.format()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Intl.RelativeTimeFormat.prototype.format()メソッドは、指定された数値と時間単位に基づいて、人間が理解しやすい相対的な時間の文字列を生成するメソッドです。これは、JavaScriptの国際化API(Intlオブジェクト)の一部であるIntl.RelativeTimeFormatクラスのインスタンスに属しています。
このメソッドを使用すると、「2日前」や「3ヶ月後」といった時間差を、現在のロケール設定(例えば日本語や英語)に適した形式で自動的に表示できます。例えば、2という数値と'days'という単位を渡すと、ロケールが日本語であれば「2日後」と、英語であれば「in 2 days」と出力されます。負の数を与えた場合は、「2日前」や「2 days ago」のように過去の時間を示します。
Webアプリケーションやシステム開発において、ユーザーに日付や時刻の情報を親しみやすい形で提供することは重要です。特に、多言語環境に対応するシステムでは、各言語の慣習に合わせた表現が求められます。Intl.RelativeTimeFormat.prototype.format()メソッドは、このような国際化対応の要件を満たすために設計されており、開発者が各言語ごとの複雑な時間表現ルールを自身で実装する手間を省くことができます。引数として時間差を表す数値と、その単位(例: 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter', 'year')を指定することで、地域や言語に合わせた適切な相対時間文字列を効率的に取得することが可能です。
構文(syntax)
1const relativeTimeFormatter = new Intl.RelativeTimeFormat('en', { style: 'long' }); 2const formattedTime = relativeTimeFormatter.format(2, 'day');
引数(parameters)
value
- value: number: フォーマットする相対的な時間量(例: -1, 0, 1)
戻り値(return)
String
指定された数値と単位に基づいて、相対的な時間表現(例:「3日前」「明日」)を表す文字列を返します。