【JavaScript ECMAScript】Intl::Intl.DateTimeFormat.prototype.formatToPartsインスタンスメソッドの使い方
Intl.DateTimeFormat.prototype.formatToParts()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Intl.DateTimeFormat.prototype.formatToParts()メソッドは、指定された日付と時刻を、地域と言語に合わせたフォーマットルールに従って個々の構成要素に分解し、それらをオブジェクトの配列として取得するメソッドです。
このメソッドは、Intl.DateTimeFormatオブジェクトのインスタンスに対して呼び出されます。通常、format()メソッドが日付や時刻を一つの完全な文字列として整形して返すのに対し、formatToParts()メソッドは、その文字列を構成する各部分(年、月、日、時、分、秒、曜日、区切り文字など)を個別のデータとして提供します。返される配列の各オブジェクトは、その部分の種類を示すtypeプロパティ(例: "year", "month", "day", "literal")と、その値を示すvalueプロパティ(例: "2023", "12", "1")を持ちます。
この機能は、フォーマットされた日付や時刻の特定の要素にスタイルを適用したり、一部の要素をハイライト表示したり、あるいは音声読み上げ機能などで各部分を個別に処理したりする際に非常に役立ちます。例えば、「2023年12月1日」という表示から「年」や「月」の部分だけを異なる色で表示したい場合や、特定の部分を省略して表示したい場合など、柔軟なUI表現を実現するために利用されます。国際化されたアプリケーションで、表示のカスタマイズが求められる場面で特に重宝されます。
構文(syntax)
1const formatter = new Intl.DateTimeFormat('en-US'); 2const someDate = new Date(); 3const dateParts = formatter.formatToParts(someDate);
引数(parameters)
date
- date: Date: フォーマットされる日付と時刻を指定するDateオブジェクト
戻り値(return)
Array<object>
Intl.DateTimeFormat.prototype.formatToParts() メソッドは、指定された日付と時刻を、ロケール固有の書式設定規則に従って、個々の要素(年、月、日、時、分、秒、リテラルなど)に分解したオブジェクトの配列を返します。