Intl.DurationFormat() コンストラクター
Baseline
2025
Newly available
Since March 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
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"などです。 For a list of supported numbering system types, seeIntl.supportedValuesOf(). このオプションは、nuUnicode 拡張キーでも設定できます。両方が指定された場合、この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"
仕様書
| Specification |
|---|
| Intl.DurationFormat> # sec-intl-durationformat-constructor> |