为了更好的更新多语言日期的显示,所以希望实现日期的本地化格式显示要求,常规的特殊字符型格式化无法满足显示要求,这里整理了几种我思考实现的本地化实现功能。
通过多方查找,总结了实现的思路主要有如下三个方向:
- 官方基础支持:
javascript
自支持Intl.DateTimeFormat
实现本地化 - 三方工具:如
dayjs
使用‘dayjs/plugin/localeData
’ - 自己实现
DateTimeFormat
实现本地化
JavaScript已经提供了可以使用的本地化功能:Intl.DateTimeFormat,只需要传入当前语言和日期基本可以完成本地化的输出,如下给出一些基础的实现:
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// 假定下面输出的结果使用了洛杉矶时区(UTC-0800,太平洋标准时间)
// 美式英语 (US English) 使用 month-day-year 格式
console.log(new Intl.DateTimeFormat("en-US").format(date));
// "12/19/2012"
// 英式英语 (Britis