我使用此代码以法语格式显示日期:
var dateToDisplay = moment(myDateInMS, "x").format("DD/MM/YYYY - hh:mm:ss"); // Output : "20/03/2016 - 12:35:32"
我想根据浏览器语言改进此显示以获得更好的显示。我怎样才能使用 moment 做到这一点?
最佳答案
我不建议根据浏览器语言设置区域设置,因为它不是用户实际区域设置的明确信号。例如。用户可能会使用英语操作系统,即使他/她是法语使用者。
话虽这么说。从浏览器读取语言并将 Moment.js 设置为相应的语言环境可以这样完成:
var localeData = moment.localeData();
switch (navigator.language || navigator.userLanguage) {
case 'fr':
localeData = moment.localeData('fr');
break;
}
localeData.longDateFormat('LL'); // the example 'LL' will output date in "D MMMM YYYY format"
请注意,这是设置整个 Moment.js 实例的区域设置(这可能是您想要做的)。另请注意,从 Moment.js 2.8.0 开始,更改全局语言环境不会影响现有实例。
另见
关于javascript - 时刻.js : Format date according browser lang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36355399/