Intl.DurationFormat() コンストラクター
Baseline
2025
最近利用可能
2025年3月以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
Intl.DurationFormat() コンストラクターは、 Intl.DurationFormat オブジェクトを生成します。
構文
new Intl.DurationFormat()
new Intl.DurationFormat(locales)
new Intl.DurationFormat(locales, options)
引数
locales省略可-
BCP 47 言語タグまたは
Intl.Localeインスタンスを持つ文字列、あるいはそのようなロケール識別子の配列。undefinedが渡された場合、または指定されたロケール識別子がどれも対応していない場合は、ランタイムの既定のロケールが使われます。locales引数の一般的な形式および解釈については、Intl メインページの引数の説明を参照してください。次の Unicode 拡張キーが使用できます。
nu-
numberingSystemを参照してください。
このキーは、
options(以下に掲載)でも設定できます。両方が設定されている場合、optionsプロパティが優先されます。 options省略可-
次のプロパティを含むオブジェクト(取得順、すべてオプションです)。
localeMatcher-
使用するロケール照合アルゴリズムです。利用可能な値は、
"lookup"と"best fit"です。デフォルト値は"best fit"です。このオプションについての情報は、ロケール識別子とネゴシエーションを参照してください。 numberingSystem-
数値の書式化に使用する記数法。たとえば
"arab","hans","mathsans"などです。対応している記数法の型については、Intl.supportedValuesOf()を参照してください。デフォルト値はロケール依存です。このオプションは、Unicode のnu拡張キーでも設定できます。両方が指定された場合、このoptionsプロパティが優先されます。 style-
書式化される経過時間のスタイル。この値は、他のすべての単位オプションの既定値として使用され、経過時間単位のリストを連結する場合の
Intl.ListFormat()のstyleオプションにも対応します。利用可能な値は次のとおりです。"long"-
例: 1 hour and 50 minutes
"short"(既定値)-
例: 1 hr, 50 min
"narrow"-
例: 1h 50m
"digital"-
例: 1:50:00
years-
書式化される年のスタイル。使用可能な値は
"long","short","narrow"です。既定値はoptions.styleですが、"digital"の場合は"short"です。 yearsDisplay-
年を常に表示するか、 0 以外の場合にのみ表示するか。使用可能な値は
"always"と"auto"です。既定値は、yearsが指定されていない場合は"auto"、指定されている場合は"always"です。 months-
書式化される月のスタイル。使用可能な値は
"long","short","narrow"です。既定値はoptions.styleですが、"digital"の場合は"short"です。 monthsDisplay-
月を常に表示するか、 0 以外の場合にのみ表示するか。使用可能な値は
"always"と"auto"です。既定値は、monthsが指定されていない場合は"auto"、指定されている場合は"always"です。 weeks-
書式化される週のスタイル。使用可能な値は
"long","short","narrow"です。既定値はoptions.styleですが、"digital"の場合は"short"です。 weeksDisplay-
週を常に表示するか、 0 以外の場合にのみ表示するか。使用可能な値は
"always"と"auto"です。既定値は、weeksが指定されていない場合は"auto"、指定されている場合は"always"です。 days-
書式化される日のスタイル。使用可能な値は
"long","short","narrow"です。既定値はoptions.styleですが、"digital"の場合は"short"です。 daysDisplay-
日を常に表示するか、 0 以外の場合にのみ表示するか。使用可能な値は
"always"と"auto"です。既定値は、daysが指定されていない場合は"auto"、指定されている場合は"always"です。 hours-
書式化される時間のスタイル。使用可能な値は
"long","short","narrow","numeric","2-digit"です。既定値はoptions.styleですが、"digital"の場合は"numeric"です。 hoursDisplay-
時間を常に表示するか、 0 以外の場合にのみ表示するか。使用可能な値は
"always"と"auto"です。既定値は、hoursが指定されておらず、options.styleが"digital"でない場合は"auto"、そうでない場合は"always"です。 minutes-
書式化される分のスタイル。
hoursが"numeric"または"2-digit"の場合、使用可能な値は"numeric"および"2-digit"であり、"numeric"は"2-digit"に正規化されます。既定は"numeric"です。- それ以外の場合、使用可能な値は
"long","short","narrow","numeric","2-digit"です。既定値は、options.styleですが、"digital"の場合は"numeric"です。
minutesDisplay-
分を常に表示するか、 0 以外の場合にのみ表示するか。使用可能な値は
"always"と"auto"です。既定値は、minutesが指定されておらず、options.styleが"digital"でない場合は"auto"、そうでない場合は"always"です。 seconds-
書式化される秒のスタイル。
minutesが"numeric"または"2-digit"の場合、使用可能な値は"numeric"および"2-digit"であり、"numeric"は"2-digit"に正規化されます。既定は"numeric"です。- それ以外の場合、使用可能な値は
"long","short","narrow","numeric","2-digit"です。既定値は、options.styleですが、"digital"の場合は"numeric"です。
secondsDisplay-
秒を常に表示するか、 0 以外の場合にのみ表示するか。使用可能な値は
"always"と"auto"です。既定値は、secondsが指定されておらず、options.styleが"digital"でない場合は"auto"、そうでない場合は"always"です。 milliseconds-
書式化されるミリ秒のスタイル。
secondsが"numeric"または"2-digit"の場合、使用可能な値は"numeric"のみです。既定は"numeric"です。- それ以外の場合、使用可能な値は
"long","short","narrow","numeric"です。既定値は、options.styleですが、"digital"の場合は"numeric"です。
millisecondsDisplay-
ミリ秒を常に表示するか、 0 以外の場合にのみ表示するか。
secondsが"numeric"または"2-digit"の場合、使用可能な値は"auto"のみです。millisecondsが指定されていない場合の既定値は"auto"です。- それ以外の場合、使用可能な値は
"always"および"auto"です。既定値は、millisecondsが指定されていない場合は"auto"であり、そうでなければ"always"です。
microseconds-
書式化されるマイクロ秒のスタイル。
millisecondsが"numeric"の場合、使用可能な値は"numeric"のみです。既定は"numeric"です。- それ以外の場合、使用可能な値は
"long","short","narrow","numeric"です。既定値は、options.styleですが、"digital"の場合は"numeric"です。
microsecondsDisplay-
マイクロ秒を常に表示するか、 0 以外の場合にのみ表示するか。
millisecondsが"numeric"または"2-digit"の場合、使用可能な値は"auto"のみです。microsecondsが指定されていない場合の既定値は"auto"です。- それ以外の場合、使用可能な値は
"always"および"auto"です。既定値は、microsecondsが指定されていない場合は"auto"であり、そうでなければ"always"です。
nanoseconds-
書式化されるナノ秒のスタイル。
microsecondsが"numeric"の場合、使用可能な値は"numeric"のみです。既定は"numeric"です。- それ以外の場合、使用可能な値は
"long","short","narrow","numeric"です。既定値は、options.styleですが、"digital"の場合は"numeric"です。
nanosecondsDisplay-
ナノ秒を常に表示するか、 0 以外の場合にのみ表示するか。
microsecondsが"numeric"または"2-digit"の場合、使用可能な値は"auto"のみです。nanosecondsが指定されていない場合の既定値は"auto"です。- それ以外の場合、使用可能な値は
"always"および"auto"です。既定値は、nanosecondsが指定されていない場合は"auto"であり、そうでなければ"always"です。
fractionalDigits-
出力に表示する小数点以下の秒の桁の数。使用可能な値は
0から9までで、既定はundefined(必要なだけ小数点以下の桁を含める)です。
例外
RangeError-
localesまたはoptionsに不正な値が含まれている場合に発生します。
解説
それぞれの時間の区分について、 Intl.NumberFormat オブジェクトが内部で構築されます。このオブジェクトは、次のオプションを使用します(詳細については、 Intl.NumberFormat() を参照してください)。
numberingSystem:options.numberingSystemの値
milliseconds、microseconds、または nanoseconds が "numeric" スタイルを使用する場合、次のオプションも使用されます。
minimumFractionDigits:options.fractionalDigitsがundefinedの場合は0、それ以外の場合はoptions.fractionalDigitsです。maximumFractionDigits:options.fractionalDigitsがundefinedの場合は9、それ以外の場合はoptions.fractionalDigitsです。roundingMode:"trunc"
時間の区分が "2-digit" スタイルを使用している場合、次のオプションも使用されます。
minimumIntegerDigits:2
時間区分で "long", "short", "narrow" のいずれかのスタイルを使用する場合、次のオプションも使用されます。
style:"long","short","narrow"のいずれかが指定されている場合は"unit"、それ以外の場合はundefinedunit: 現在書式化されている単位("years","days","nanoseconds", など)unitDisplay: 時間区分のスタイルの設定値("long","short","narrow"のいずれか)
例
>Intl.DurationFormat() コンストラクターの使用
const duration = {
hours: 2,
minutes: 20,
seconds: 35,
};
console.log(new Intl.DurationFormat("pt", { style: "long" }).format(duration));
// "2 horas, 20 minutos e 35 segundos"
仕様書
| 仕様書 |
|---|
| Intl.DurationFormat> # sec-intl-durationformat-constructor> |