Intl.DateTimeFormat.prototype.format()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Phương thức format() của các instance Intl.DateTimeFormat định dạng một ngày theo ngôn ngữ và các tùy chọn định dạng của đối tượng Intl.DateTimeFormat này.
Try it
const options = {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
};
const date = new Date(2012, 5);
const dateTimeFormat1 = new Intl.DateTimeFormat("sr-RS", options);
console.log(dateTimeFormat1.format(date));
// Expected output: "петак, 1. јун 2012."
const dateTimeFormat2 = new Intl.DateTimeFormat("en-GB", options);
console.log(dateTimeFormat2.format(date));
// Expected output: "Friday, 1 June 2012"
const dateTimeFormat3 = new Intl.DateTimeFormat("en-US", options);
console.log(dateTimeFormat3.format(date));
// Expected output: "Friday, June 1, 2012"
Cú pháp
format(date)
Tham số
date-
Ngày cần định dạng. Có thể là đối tượng
DatehoặcTemporal.PlainDateTime. Ngoài ra còn có thể là đối tượngTemporal.PlainTime,Temporal.PlainDate,Temporal.PlainYearMonth, hoặcTemporal.PlainMonthDaynếu đối tượngDateTimeFormatđược cấu hình để in ít nhất một phần liên quan của ngày.Note: Một đối tượng
Temporal.ZonedDateTimesẽ luôn ném raTypeError; hãy sử dụngTemporal.ZonedDateTime.prototype.toLocaleString()hoặc chuyển đổi nó thành đối tượngTemporal.PlainDateTime.Bỏ qua tham số này dẫn đến việc định dạng ngày hiện tại (do
Date.now()trả về), điều này có thể gây nhầm lẫn, vì vậy nên luôn luôn truyền một ngày một cách rõ ràng.
Giá trị trả về
Một chuỗi biểu diễn date đã cho được định dạng theo ngôn ngữ và các tùy chọn định dạng của đối tượng Intl.DateTimeFormat này.
Note:
Trong hầu hết trường hợp, định dạng được trả về bởi format() là nhất quán. Tuy nhiên, đầu ra có thể thay đổi giữa các triển khai, ngay cả trong cùng một ngôn ngữ — các biến thể đầu ra là theo thiết kế và được cho phép bởi đặc tả. Nó cũng có thể không phải là những gì bạn mong đợi. Ví dụ, chuỗi có thể sử dụng khoảng trắng không ngắt hoặc được bao quanh bởi các ký tự kiểm soát hai chiều. Bạn không nên so sánh kết quả của format() với các hằng số được mã cứng.
Ví dụ
>Sử dụng format
Sử dụng hàm getter format để định dạng một ngày duy nhất, ở đây là Serbia:
const options = {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
};
const dateTimeFormat = new Intl.DateTimeFormat("sr-RS", options);
console.log(dateTimeFormat.format(new Date()));
// "недеља, 7. април 2013."
Sử dụng format với map
Sử dụng hàm getter format để định dạng tất cả các ngày trong một mảng. Lưu ý rằng hàm này được ràng buộc với Intl.DateTimeFormat từ đó nó được lấy ra, vì vậy nó có thể được truyền trực tiếp đến Array.prototype.map().
const a = [new Date(2012, 8), new Date(2012, 11), new Date(2012, 3)];
const options = { year: "numeric", month: "long" };
const dateTimeFormat = new Intl.DateTimeFormat("pt-BR", options);
const formatted = a.map(dateTimeFormat.format);
console.log(formatted.join("; "));
// "setembro de 2012; dezembro de 2012; abril de 2012"
Đặc tả kỹ thuật
| Thông số kỹ thuật |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-intl.datetimeformat.prototype.format> |