字符串12.01.2015
,例如德国代表2015年1月12日。但以下代码并未按预期运作:
moment.locale('de');
moment('12.01.2015').toString(); // "Tue Dec 01 2015 00:00:00 GMT+0100"
moment('12.01.2015').fromNow(); // "in einem Jahr" (==> locale setting is OK)
在locale / de.js中有以下内容:
longDateFormat : {
...
L : 'DD.MM.YYYY',
...
}
为什么我认为字符串不被解析?
答案 0 :(得分:3)
Momen的语言环境设置所需的输出时刻。不是输入。您需要提供如下输入格式:
moment('12.01.2015', 'DD.MM.YYYY')
有关此行为将来如何变化的详细说明,请参阅this github页面。
您可以将其包装在一个函数中,这样您就不必随身携带格式:
function germanMoment(date){
return moment(date, 'DD.MM.YYYY')
}
然后您只需使用germanMoment('12.01.2015').fromNow()
即可。
答案 1 :(得分:2)
时刻parse method表示ISO 8601字符串。您必须指定日期格式。
moment("12.01.2015", "DD.MM.YYYY")