【问题标题】:How can I validate a date including “00:07 PM” in JavaScript?如何在 JavaScript 中验证包含“00:07 PM”的日期?
【发布时间】:2010-02-09 07:28:17
【问题描述】:

有人验证过这种格式的日期

2010 年 2 月 9 日下午 12:07

以前在 javascript 中。javascript Date 对象存在问题,它接受 2010 年 2 月 9 日 00:07 PM 作为有效日期。

【问题讨论】:

    标签: javascript date validation


    【解决方案1】:

    如果您喜欢使用库,date.js 旨在处理这种情况。

    【讨论】:

    • +1 用于花式。哦,是的,date.js 也很酷。大声笑
    【解决方案2】:

    Meridiem 源于拉丁语,意思是中午或中午。所以说 00:07 PM,或者换句话说,中午过去 7 分钟在技术上是正确的,但并不常用。

    另一方面,说中午 12 点是不正确的,因为它意味着中午过去 12 小时或午夜。

    所以我想这比什么都更惯例,但 00:07 PM 确实是正确的。此外,在 Chrome 上进行测试会正确地将超过 12 的值标记为无效日期,例如下午 13:07。

    您可能会发现Confusion at noon and midnight in a 12 hour clock 上的此部分很有用。

    【讨论】:

      【解决方案3】:

      Date 构造函数的行为是未指定的,所以即使你能解释这种行为,你也不能依赖它在其他浏览器上以同样的方式工作。如果你想要可靠的行为,你应该使用 datejs 或 dojo 之类的库。

      【讨论】:

        【解决方案4】:

        00 PM 是中午。对我来说似乎很好。使用 AM/PM 时,它不会接受任何 >12 小时,因此它似乎是有意的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-09-08
          • 1970-01-01
          • 2016-09-30
          • 1970-01-01
          • 2022-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多