从文档设置格式开始,l
以"M/D/YYYY" 格式返回.有没有办法根据区域设置获取日期D/M
或M/D
格式?这是我现在的代码.
var locale = window.navigator.userLanguage || window.navigator.language; moment.locale(locale); var momentTime = moment(d); console.log(momentTime.format('l'));
例如,如果语言环境是French
日期,则应以D/M
格式返回日期,如果语言环境是english-us
,则应M/D
自动以格式返回日期.
做你需要的一种方法是获得本地化 longDateFormat
,然后使用正则表达式删除年份部分.
这是一个使用localeData
然后的工作示例longDateFormat
.我不确定它是否适用于每个语言环境,但它为fr
和en-us
(以及可能还有许多其他语言)提供了正确的结果.
var locale = window.navigator.userLanguage || window.navigator.language;
moment.locale(locale);
// Get locale data
var localeData = moment.localeData();
var format = localeData.longDateFormat('L')
// Remove year part
format = format.replace(/.YYYY/, '');
var momentTime = moment();
console.log(momentTime.format(format));