Javascript moment.js-在法语中对月的缩写形式使用严格性

Javascript moment.js-在法语中对月的缩写形式使用严格性,javascript,jquery,momentjs,Javascript,Jquery,Momentjs,我正在使用一个jquery插件,它需要moment.js,因为我对它很陌生,这让我很困惑 基于moment.js/doc和我在网上找到的一些其他线程,我了解以下内容: (来自) Moment的解析器非常宽容,这可能会导致不必要的错误 行为。从版本2.3.0开始,您可以为最后一个 参数使矩使用严格解析。严格的解析需要 格式和输入完全匹配 我们也可以同时使用语言和严格: moment('2012-10-14', 'YYYY-MM-DD', 'fr', true); 当我尝试使用法语区域设置时,mo

我正在使用一个jquery插件,它需要moment.js,因为我对它很陌生,这让我很困惑

基于moment.js/doc和我在网上找到的一些其他线程,我了解以下内容:

(来自)

Moment的解析器非常宽容,这可能会导致不必要的错误 行为。从版本2.3.0开始,您可以为最后一个 参数使矩使用严格解析。严格的解析需要 格式和输入完全匹配

我们也可以同时使用语言和严格:

moment('2012-10-14', 'YYYY-MM-DD', 'fr', true);
当我尝试使用法语区域设置时,moment('2012-10-14','YYYY-MM-DD','fr-ca',true)没有返回true。(顺便说一句,“fr ca”是加拿大法语地区,如果你想知道的话。)

我能想到的是,“févr”可能不是“MMM”的格式。如果不是,会是什么

下面是来自moment-locale.js源代码的法语缩写月份名称列表

monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'
下面是我尝试的完整版本,请帮助我确定我做错了什么

提前感谢。

在使用默认的灵活解析时,缩写中的句点(
)将被忽略,但在严格模式下,字符串必须与格式完全匹配,而不是因为句点

有两种选择:

  • 可以从输入字符串中删除句点

    var date = '1 févr 2017';
    var format ='D MMM YYYY'; 
    
  • 或者,您可以更改格式以允许以下期间:

    var date = '1 févr. 2017';
    var format ='D MMM. YYYY'; 
    
  • var date = '1 févr 2017';
    var format ='D MMM YYYY'; 
    
    var date = '1 févr. 2017';
    var format ='D MMM. YYYY';