1 回答

TA貢獻1836條經驗 獲得超3個贊
DateTimeFormat.format返回的字符串的格式是基于語言代碼的,但是沒有規范將語言映射到格式。因此,每個實現都可以自由地將語言映射到它想要的格式。大多數情況下,它們是一致的,但并非總是如此。如果不支持特定語言,它可能會回退到默認值(例如 ISO 8601 或像 en 這樣的通用語言代碼)。
如果您想要特定格式,請使用您自己的函數手動執行或使用庫,請參閱如何格式化 JavaScript 日期。
例如,您可以將formatToParts與更通用的語言代碼一起使用:
function format(date) {
let {year, month, day} = new Intl.DateTimeFormat('pl', {
year: 'numeric',
month: '2-digit',
day: '2-digit'
}).formatToParts(date).reduce((acc, part) => {
if (part.type != 'literal') {
acc[part.type] = part.value;
}
return acc;
}, Object.create(null));
return `${day}.${month}.${year}`;
}
console.log(format(new Date(2019, 2, 4)));
添加回答
舉報