首先来看两个比较特殊的 weekday
与 era
(即‘公元’),它俩均可以取值为 narrow
、short
以及 long
,简单说就是能有多短就有多短、缩写以及正常写法,还是撸代码吧:const date = new Date();
date.toLocaleString('en', { weekday: 'narrow', era: 'narrow' });
date.toLocaleString('en', { weekday: 'short', era: 'short' });
date.toLocaleString('en', { weekday: 'long', era: 'long' });
之后再看看 timeZoneName
属性,这个属性只有 short
或 long
两个值,具体中文怎么翻译我也不清楚,不过看了代码应该就知道有何用了:const date = new Date();
date.toLocaleString('zh', { timeZoneName: 'short' });
date.toLocaleString('zh', { timeZoneName: 'long' });
剩下的属性,均可以取值为 numeric
与 2-digit
,简单说来就是是否用两位数字表示,看码说话:const date = new Date();
date.toLocaleString('zh', { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', });
date.toLocaleString('zh', { year: '2-digit', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' });
最后值得一说的是 month
这个属性,因为语言对于月份来说有不同的展现,因此除去 numeric
与 2-digit
外,它还有额外的三个属性,分别是 narrow
、short
与 long
,具体还是来看代码:const date = new Date();
date.toLocaleString('en', { month: 'narrow' });
date.toLocaleString('en', { month: 'short' });
date.toLocaleString('en', { month: 'long' });