Intl.DurationFormat() constructor
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.
Constructor Intl.DurationFormat() tạo các đối tượng Intl.DurationFormat.
Cú pháp
new Intl.DurationFormat()
new Intl.DurationFormat(locales)
new Intl.DurationFormat(locales, options)
Tham số
localesOptional-
Một chuỗi với BCP 47 language tag hoặc một instance
Intl.Locale, hoặc một mảng các mã định danh ngôn ngữ như vậy. Ngôn ngữ mặc định của runtime được sử dụng khiundefinedđược truyền vào hoặc khi không có mã định danh ngôn ngữ nào được chỉ định được hỗ trợ. Để biết dạng chung và cách diễn giải đối sốlocales, xem mô tả tham số trên trang chínhIntl.Khóa mở rộng Unicode sau được phép:
nu-
Xem
numberingSystem.
Khóa này cũng có thể được đặt với
options(như liệt kê bên dưới). Khi cả hai được đặt, thuộc tínhoptionssẽ được ưu tiên. optionsOptional-
Một đối tượng chứa các thuộc tính sau, theo thứ tự được lấy ra (tất cả đều tùy chọn):
localeMatcher-
Thuật toán khớp ngôn ngữ cần sử dụng. Các giá trị có thể là
"lookup"và"best fit"; mặc định là"best fit". Để biết thêm thông tin về tùy chọn này, xem Xác định và thương lượng ngôn ngữ. numberingSystem-
Hệ thống đánh số cần dùng để định dạng số, chẳng hạn
"arab","hans","mathsans", v.v. Để biết danh sách các kiểu hệ thống đánh số được hỗ trợ, xemIntl.supportedValuesOf(); mặc định phụ thuộc vào ngôn ngữ. Tùy chọn này cũng có thể được đặt thông qua khóa mở rộng Unicodenu; nếu cả hai được cung cấp, thuộc tínhoptionsnày sẽ được ưu tiên. style-
Kiểu của thời lượng được định dạng. Giá trị này được sử dụng làm mặc định cho tất cả các tùy chọn đơn vị khác, và cũng tương ứng với tùy chọn
stylecủaIntl.ListFormat()khi nối danh sách các đơn vị thời lượng. Các giá trị có thể là:"long"-
Ví dụ: 1 hour and 50 minutes
"short"(mặc định)-
Ví dụ: 1 hr, 50 min
"narrow"-
Ví dụ: 1h 50m
"digital"-
Ví dụ: 1:50:00
years-
Kiểu của số năm được định dạng. Các giá trị có thể là
"long","short", và"narrow"; mặc định làoptions.stylenếu không phải"digital", và"short"nếu không. yearsDisplay-
Liệu có luôn hiển thị số năm, hay chỉ khi khác 0. Các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếuyearskhông được chỉ định, và"always"nếu không. months-
Kiểu của số tháng được định dạng. Các giá trị có thể là
"long","short", và"narrow"; mặc định làoptions.stylenếu không phải"digital", và"short"nếu không. monthsDisplay-
Liệu có luôn hiển thị số tháng, hay chỉ khi khác 0. Các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếumonthskhông được chỉ định, và"always"nếu không. weeks-
Kiểu của số tuần được định dạng. Các giá trị có thể là
"long","short", và"narrow"; mặc định làoptions.stylenếu không phải"digital", và"short"nếu không. weeksDisplay-
Liệu có luôn hiển thị số tuần, hay chỉ khi khác 0. Các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếuweekskhông được chỉ định, và"always"nếu không. days-
Kiểu của số ngày được định dạng. Các giá trị có thể là
"long","short", và"narrow"; mặc định làoptions.stylenếu không phải"digital", và"short"nếu không. daysDisplay-
Liệu có luôn hiển thị số ngày, hay chỉ khi khác 0. Các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếudayskhông được chỉ định, và"always"nếu không. hours-
Kiểu của số giờ được định dạng. Các giá trị có thể là
"long","short","narrow","numeric", và"2-digit"; mặc định làoptions.stylenếu không phải"digital", và"numeric"nếu không. hoursDisplay-
Liệu có luôn hiển thị số giờ, hay chỉ khi khác 0. Các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếuhourskhông được chỉ định vàoptions.stylekhông phải"digital", và"always"nếu không. minutes-
Kiểu của số phút được định dạng.
- Nếu
hourslà"numeric"hoặc"2-digit", các giá trị có thể là"numeric"và"2-digit", và"numeric"được chuẩn hóa thành"2-digit"; mặc định là"numeric". - Nếu không, các giá trị có thể là
"long","short","narrow","numeric", và"2-digit"; mặc định làoptions.stylenếu không phải"digital", và"numeric"nếu không.
- Nếu
minutesDisplay-
Liệu có luôn hiển thị số phút, hay chỉ khi khác 0. Các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếuminuteskhông được chỉ định vàoptions.stylekhông phải"digital", và"always"nếu không. seconds-
Kiểu của số giây được định dạng.
- Nếu
minuteslà"numeric"hoặc"2-digit", các giá trị có thể là"numeric"và"2-digit", và"numeric"được chuẩn hóa thành"2-digit"; mặc định là"numeric". - Nếu không, các giá trị có thể là
"long","short","narrow","numeric", và"2-digit"; mặc định làoptions.stylenếu không phải"digital", và"numeric"nếu không.
- Nếu
secondsDisplay-
Liệu có luôn hiển thị số giây, hay chỉ khi khác 0. Các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếusecondskhông được chỉ định vàoptions.stylekhông phải"digital", và"always"nếu không. milliseconds-
Kiểu của số mili giây được định dạng.
- Nếu
secondslà"numeric"hoặc"2-digit", giá trị có thể duy nhất là"numeric"; mặc định là"numeric". - Nếu không, các giá trị có thể là
"long","short","narrow", và"numeric"; mặc định làoptions.stylenếu không phải"digital", và"numeric"nếu không.
- Nếu
millisecondsDisplay-
Liệu có luôn hiển thị số mili giây, hay chỉ khi khác 0.
- Nếu
secondslà"numeric"hoặc"2-digit", giá trị có thể duy nhất là"auto"; mặc định chỉ là"auto"khimillisecondskhông được chỉ định. - Nếu không, các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếumillisecondskhông được chỉ định, và"always"nếu không.
- Nếu
microseconds-
Kiểu của số micro giây được định dạng.
- Nếu
millisecondslà"numeric", giá trị có thể duy nhất là"numeric"; mặc định là"numeric". - Nếu không, các giá trị có thể là
"long","short","narrow", và"numeric"; mặc định làoptions.stylenếu không phải"digital", và"numeric"nếu không.
- Nếu
microsecondsDisplay-
Liệu có luôn hiển thị số micro giây, hay chỉ khi khác 0.
- Nếu
millisecondslà"numeric", giá trị có thể duy nhất là"auto"; mặc định chỉ là"auto"khimicrosecondskhông được chỉ định. - Nếu không, các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếumicrosecondskhông được chỉ định, và"always"nếu không.
- Nếu
nanoseconds-
Kiểu của số nano giây được định dạng.
- Nếu
microsecondslà"numeric", giá trị có thể duy nhất là"numeric"; mặc định là"numeric". - Nếu không, các giá trị có thể là
"long","short","narrow", và"numeric"; mặc định làoptions.stylenếu không phải"digital", và"numeric"nếu không.
- Nếu
nanosecondsDisplay-
Liệu có luôn hiển thị số nano giây, hay chỉ khi khác 0.
- Nếu
microsecondslà"numeric", giá trị có thể duy nhất là"auto"; mặc định chỉ là"auto"khinanosecondskhông được chỉ định. - Nếu không, các giá trị có thể là
"always"và"auto"; mặc định là"auto"nếunanosecondskhông được chỉ định, và"always"nếu không.
- Nếu
fractionalDigits-
Số chữ số phần lẻ của giây cần hiển thị trong đầu ra. Các giá trị có thể là từ
0đến9; mặc định làundefined(bao gồm nhiều chữ số phần lẻ khi cần thiết).
Ngoại lệ
RangeError-
Được ném ra nếu
localeshoặcoptionschứa các giá trị không hợp lệ.
Mô tả
Đối với mỗi phân đoạn thời gian, một đối tượng Intl.NumberFormat được xây dựng nội bộ. Nó sử dụng các tùy chọn sau (xem Intl.NumberFormat() để biết chi tiết):
numberingSystem: giá trị củaoptions.numberingSystem
Khi milliseconds, microseconds, hoặc nanoseconds sử dụng kiểu "numeric", các tùy chọn sau cũng được sử dụng:
minimumFractionDigits:0khioptions.fractionalDigitslàundefined,options.fractionalDigitsnếu khôngmaximumFractionDigits:9khioptions.fractionalDigitslàundefined,options.fractionalDigitsnếu khôngroundingMode:"trunc"
Khi phân đoạn thời gian sử dụng kiểu "2-digit", các tùy chọn sau cũng được sử dụng:
minimumIntegerDigits:2
Khi phân đoạn thời gian sử dụng kiểu "long", "short", hoặc "narrow", các tùy chọn sau cũng được sử dụng:
style:"unit"khi"long","short", hoặc"narrow"được chỉ định,undefinednếu khôngunit: đơn vị đang được định dạng hiện tại ("years","days","nanoseconds", v.v.)unitDisplay: giá trị của kiểu phân đoạn thời gian ("long","short", hoặc"narrow")
Ví dụ
>Sử dụng constructor 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"
Đặc tả kỹ thuật
| Thông số kỹ thuật |
|---|
| Intl.DurationFormat> # sec-intl-durationformat-constructor> |