现在可以使用ECMAScript国际化API来做到这一点:
const date = new Date(2019, 10, 10); // 2019-11-10
const month = date.toLocaleString('default', { month: 'long' });
console.log(month);
'long'
使用月份的全名,'short'
简称和'narrow'
更短的版本(例如字母语言中的第一个字母)。
你可以将语言环境从浏览器更改'default'
为任何你喜欢的语言环境(例如'en-us'
),它将使用该语言/国家/地区的正确名称。
使用toLocaleStringapi
时,你每次必须传递语言环境和选项。如果要在多个不同的日期使用相同的语言环境信息和格式选项,则可以Intl.DateTimeFormat
改用:
const formatter = new Intl.DateTimeFormat('fr', { month: 'short' });
const month1 = formatter.format(new Date());
const month2 = formatter.format(new Date(2003, 5, 12));
console.log(`${month1} and ${month2}`); // current month in French and "juin".