当我尝试“可能”月份时,为什么会收到“无效日期”? (这是荷兰语,所以这就是为什么有“mei”)
当我尝试月份“june”(荷兰语:“juni”)时,我没有得到“无效日期”
我不明白...... 检查小提琴:Fiddle
脚本(纯粹出于测试目的,显示月份“可能”不起作用..)
$(document).ready(function () {
var newvartitle = "5 mei 2014";
var goodformatdata = moment(newvartitle).format('DD/MM/YYYY');
var newvartitle2 = "5 juni 2014";
var goodformatdata2 = moment(newvartitle2).format('DD/MM/YYYY');
$('.tester').append(goodformatdata);
$('.tester').append(goodformatdata2);
});
此问题已解决,解决方法: http://jsfiddle.net/kULx3/2/
答案 0 :(得分:4)
问题是您使用的语言是输出语言。例如,如果你试试这个
alert(moment("5 5 2014").lang("nl").format("DD/MMMM/YYYY"));
输出将是
05 /妹/ 2014
要以荷兰语接受输入,您必须实施它。例如,创建一个方法,该方法将字符串作为参数并将荷兰语月份更改为数字,因此当您调用
时moment(toMoment("5 mei 2014")).lang("nl").format("DD/MMMM/YYYY")
toMoment("5 mei 2014")
的返回值为5 5 2014
一个例子是
function toMoment(str){
var result = null;
var splitted = str.split(" ");
var month = splitted[1];
switch(month){
case "mei": result = "5"; break;
}
return splitted[0] + " " + result + " " + splitted[2];
}
答案 1 :(得分:1)
默认情况下,Moment.js设置为英语。这可以通过将所需的语言传递到Moment.js的.lang()
函数来改变:
moment.lang('en');
用英语," i" in" juni"被完全忽略了。 Moment.js只查看月份名称的前三个字母。 "六月"被视为" jun" ("六月"英文)而没有三个字母的月份以" mei"用英语。