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

【JavaScript ECMAScript】Intl::Intl.DurationFormat.prototype.formatToPartsインスタンスメソッドの使い方

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

作成日: 更新日:

基本的な使い方

Intl.DurationFormat.prototype.formatToParts()メソッドは、特定の期間を、ロケールに応じた形式で、その構成要素ごとに分割されたオブジェクトの配列としてフォーマットを実行するメソッドです。このメソッドは、Intl.DurationFormatのインスタンスに対して呼び出され、時間量(duration)を人間が読みやすい形式に整形する際に、各部分を細かく制御したい場合に非常に有用です。

引数として、期間の各単位(例えば、yearsmonthsdayshoursminutessecondsなど)をプロパティとして持つオブジェクトを受け取ります。メソッドは、この期間情報を基に、ロケールに応じた規則に従って各要素を文字列に変換します。

戻り値は、期間を構成する各部分を表すオブジェクトの配列です。配列の各オブジェクトは、その部分の種類を示すtypeプロパティ(例:「year」、「month」、「literal」、「integer」など)と、その部分の実際の文字列値を示すvalueプロパティを含みます。

例えば、「1時間30分」という期間を整形する際に、format()メソッドが一つの文字列を返すのに対し、formatToParts()メソッドは「1」という数値、「時間」という単位、「30」という数値、「分」という単位といった各要素を個別のオブジェクトとして提供します。これにより、アプリケーションはユーザーインターフェースにおいて、各要素に異なるスタイルを適用したり、特定の情報を強調表示したりするなど、より詳細なカスタマイズと柔軟な表示を実現できます。

構文(syntax)

1const durationFormatter = new Intl.DurationFormat('en-US');
2const duration = { hours: 1, minutes: 30, seconds: 45 };
3const formattedParts = durationFormatter.formatToParts(duration);

引数(parameters)

duration

  • duration: Intl.DurationFormatのインスタンスがフォーマットする時間(duration)を指定するオブジェクト。

戻り値(return)

Array<Intl.DurationFormatPart>

このメソッドは、フォーマットされた期間の各部分(年、月、日、時、分、秒など)を表すオブジェクトの配列を返します。各オブジェクトは、type(部分の種類)とvalue(その部分の値)のプロパティを持ちます。

関連コンテンツ

関連プログラミング言語