Intl.DateTimeFormat
Intl.DateTimeFormat provides rich, locale-aware date formatting. Create a formatter once and reuse it for performance.
Intl.DateTimeFormat provides rich, locale-aware date formatting. Create a formatter once and reuse it for performance.
// Create a reusable formatter
const fmt = new Intl.DateTimeFormat("en-US", {
year: "numeric",
month: "long",
day: "numeric",
weekday: "long",
});
const d = new Date("2024-06-15");
fmt.format(d); // "Saturday, June 15, 2024"
// Time formatting
new Intl.DateTimeFormat("en-US", {
hour: "2-digit",
minute: "2-digit",
hour12: true,
}).format(new Date()); // "10:30 AM"
// Date ranges
fmt.formatRange(new Date("2024-06-01"), new Date("2024-06-30"));
// "June 1 – 30, 2024"
Create Intl.DateTimeFormat instances once outside loops — constructing them is expensive.
More in JavaScript