moment:使用用户语言格式化日期时出现错误

5

当我尝试使用Moment JS库根据用户语言获取日期显示时,出现了以下错误:

format.replace is not a function 

以下是代码:

var localeData = moment.localeData();

switch (navigator.language || navigator.userLanguage) {
    case 'fr':
        localeData = moment.localeData('fr');
        break;
}

localeData.longDateFormat('LL');

var dateToDisplay = moment(1459035326000, "x").format(localeData);

我在那段代码中没有看到 format.replace。那段代码哪里出错了? - George Stocker
@GeorgeStocker 错误在最后一行抛出,并包含在moment js库中。我肯定在我的调用中有错误。 - wawanopoulos
看看我对你其他问题的回答。我认为它会澄清很多关于这个问题发生的事情。这不是你应该更改语言环境的方式。 - Maggie Pint
1个回答

0

你应该使用:

var format = localeData.longDateFormat('LL');
var dateToDisplay = moment(1410715640579).format(format);

因为longDateFormat()返回一个包含日期格式的字符串,例如'MMMM D, YYYY',你应该将这个字符串传递给format()函数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接