【问题标题】:why the date format is not giving correct value?为什么日期格式没有给出正确的值?
【发布时间】:2018-11-02 06:31:43
【问题描述】:

我正在检查日期格式是否有效。为什么这种格式有效?

  alert(moment('16-jun-199', 'DD-MMM-YYYY').isValid())

为什么它给了我真实的。它应该是错误的。为什么? 这是我的代码

http://plnkr.co/edit/ZH2kjC9QWwbdLwmvH2Tp?p=preview 我做错了.formate应该是'DD-MMM-YYYY'

【问题讨论】:

    标签: javascript angular momentjs angular-moment


    【解决方案1】:

    你可以试试这个

    moment('16-jun-199', 'DD-MMM-YYYY',true).isValid())
    

    注意:strict 解析的附加 true 标志。它告诉时刻不要使用通配符并使用完全匹配。

    Moment 的解析器非常宽容,这可能导致 不良/意外行为。

    例如,可以观察到以下行为:

     moment('2016 is a date', 'YYYY-MM-DD').isValid() //true, 2016 was
     matched
    

    从 2.3.0 版开始,您可以为最后一个参数指定布尔值 使 Moment 使用严格的解析。严格的解析要求 格式和输入完全匹配,包括分隔符。

    moment('It is 2012-05-25', 'YYYY-MM-DD').isValid();       // true
    moment('It is 2012-05-25', 'YYYY-MM-DD', true).isValid(); // false
    moment('2012-05-25',       'YYYY-MM-DD', true).isValid(); // true
    moment('2012.05.25',       'YYYY-MM-DD', true).isValid(); // false
    

    来源:https://momentjs.com/docs/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多