Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “月”;五月";不适用于Moment.JS(包括小提琴)_Javascript_Jquery_Date_Momentjs - Fatal编程技术网

Javascript “月”;五月";不适用于Moment.JS(包括小提琴)

Javascript “月”;五月";不适用于Moment.JS(包括小提琴),javascript,jquery,date,momentjs,Javascript,Jquery,Date,Momentjs,为什么我尝试“五月”这个月时会得到“无效日期”?(这是荷兰语,所以才有“梅”) 当我尝试“六月”(荷兰语:“juni”)这个月时,我没有得到“无效日期” 我不明白。。。 检查小提琴: 脚本:(纯粹出于测试目的,以表明“五月”这个月不起作用….) 此问题已解决,解决方案: 默认情况下,Moment.js设置为English。这可以通过将所需的语言传递到矩.js的.lang()函数中来改变: moment.lang('en'); 在英语中,“juni”中的“i”被完全忽略了。js只查看月份名称的前

为什么我尝试“五月”这个月时会得到“无效日期”?(这是荷兰语,所以才有“梅”)

当我尝试“六月”(荷兰语:“juni”)这个月时,我没有得到“无效日期”

我不明白。。。 检查小提琴:

脚本:(纯粹出于测试目的,以表明“五月”这个月不起作用….)

此问题已解决,解决方案:
默认情况下,Moment.js设置为English。这可以通过将所需的语言传递到矩.js的
.lang()
函数中来改变:

moment.lang('en');

在英语中,“juni”中的“i”被完全忽略了。js只查看月份名称的前三个字母。“Juni”被视为“jun”(“英语中的June”),而英语中没有以“mei”开头的三个字母的月份。

默认情况下,Moment.js设置为英语。这可以通过将所需的语言传递到矩.js的
.lang()
函数中来改变:

moment.lang('en');

在英语中,“juni”中的“i”被完全忽略了。js只查看月份名称的前三个字母。“Juni”被视为“jun”(“英语中的June”),而英语中没有以“mei”开头的三个字母的月份。

问题是您使用的语言是输出语言。例如,如果你尝试这个

alert(moment("5 5 2014").lang("nl").format("DD/MMMM/YYYY"));
输出将是

2014年5月5日

为了接受荷兰语输入,您必须实现它。例如,创建一个将字符串作为参数并将荷兰月份更改为数字的方法,以便在调用

moment(toMoment("5 mei 2014")).lang("nl").format("DD/MMMM/YYYY")
Tomomet(“2014年5月”)
的返回值将为
2014年5月

这方面的一个例子就是

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];
}

问题是您使用的语言是输出语言。例如,如果你尝试这个

alert(moment("5 5 2014").lang("nl").format("DD/MMMM/YYYY"));
输出将是

2014年5月5日

为了接受荷兰语输入,您必须实现它。例如,创建一个将字符串作为参数并将荷兰月份更改为数字的方法,以便在调用

moment(toMoment("5 mei 2014")).lang("nl").format("DD/MMMM/YYYY")
Tomomet(“2014年5月”)
的返回值将为
2014年5月

这方面的一个例子就是

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];
}

当我尝试
juni
时,我得到了
invalid date
当我尝试
juni
时,我得到了
invalid date
是的,我尝试了maart(三月),它也不起作用。@James Donelly谢谢,但当我将语言设置为NL时,它仍然不起作用。似乎这并没有设定语言。因为你在这个问题上是对的,它与语言有关。是的,我试过maart(三月),但它也不起作用。@James Donelly谢谢,但当我将语言设置为NL时,它仍然不起作用。似乎这并没有设定语言。因为你对这个问题的看法是对的,它与语言有关。很高兴我能帮上忙。干杯我需要为Maart(三月)做完全相同的事情吗?我实际上想要脚本,但是在所有的月份里,我是否只需要添加这样的案例:<代码>切换(月){case“januari”:result=“1”;break;case“februari”:result=“2”;break;case“maart”:result=“3”;break;case“april”:result=“4”;break;case“mei”:result=“5”break;case“juni”:result=“6”;break;}或者我需要if语句吗?准确地说。只需按照您的注释编写其他案例:)我希望您能够自动理解:)很抱歉,您可能还需要使用
month=splitted[1].toLowerCase()。。以防有人用大写字母写一个月。很高兴我能帮上忙。干杯我需要为Maart(三月)做完全相同的事情吗?我实际上想要脚本,但是在所有的月份里,我是否只需要添加这样的案例:<代码>切换(月){case“januari”:result=“1”;break;case“februari”:result=“2”;break;case“maart”:result=“3”;break;case“april”:result=“4”;break;case“mei”:result=“5”break;case“juni”:result=“6”;break;}
或者我需要if语句吗?准确地说。只需按照您的注释编写其他案例:)我希望您能够自动理解:)很抱歉,您可能还需要使用
month=splitted[1].toLowerCase()。。以防有人用大写字母表示月份。