【问题标题】:moment.js strict mode time format validation with time zonemoment.js 严格模式时间格式验证与时区
【发布时间】:2019-04-22 07:28:41
【问题描述】:

我正在尝试让 moment.js 验证(严格模式)用户输入的带有时区的日期/时间。示例:

moment("2018-01-20 06:30 PDT", "YYYY-MM-DD HH:mm Z", true).isValid();

这返回 false,尽管用户输入的值对我的目的有效。如果我取消时区和“Z”标记,它可以正常验证,正如预期的那样。

我已经检查了似乎最相关的 SO 帖子,但结果为空。我会很感激任何提示。对于这个用例,我是否需要以某种形式使用 moment.tz?非常感谢。

编辑:澄清一下,“2018-01-20 06:30 PDT”是用户手动输入的内容,“yyyy-MM-dd HH:mm z”是(ISO 8601?)所需的日期/时间格式该应用程序,我们将这些令牌按摩到“YYYY-MM-DD HH:mm Z”以传递给moment.js进行验证。

【问题讨论】:

    标签: javascript validation momentjs moment-timezone


    【解决方案1】:

    要使其工作而不是 PDT,您可以提供时区偏移量,即 -0700 示例 -

    moment("2018-01-20 06:30 -0700", "YYYY-MM-DD HH:mm Z", true).isValid();
    

    更多详情请参考 - https://momentjs.com/docs/#/parsing/string-format

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2016-07-17
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多