【问题标题】:How to check an UTC formatted date with a regular expression?如何使用正则表达式检查 UTC 格式的日期?
【发布时间】:2009-03-26 11:32:11
【问题描述】:

如您所知,格式如下:

"YYYY-MM-DDTHH:NN:SS.ZZZ+XX:XX"  (i.e. "2009-03-24T16:24:32.057+01:00")

我必须在 ActionScript3 类中完成,但任何来源都将不胜感激,谢谢。

【问题讨论】:

    标签: regex actionscript-3 datetime


    【解决方案1】:

    看看这个相关的问题:

    Actionscript 3 - Fastest way to parse yyyy-mm-dd hh:mm:ss to a Date object?

    接受的答案提供了一种将 UTC 时间字符串解析为 Date 对象的方法。

    【讨论】:

      【解决方案2】:

      遵循正则表达式非常适合任何 UTC 日期格式

      "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z)?$"
      

      参考:https://www.regexpal.com/94925

      【讨论】:

        【解决方案3】:

        Java 正则表达式,经过测试可以读取"2001-12-15T07:30:40Z" 之类的日期:

        "^\\d{4}-[0-1][0-3]-[0-3]\\d{1}T[0-2]\\d{1}:[0-5]\\d{1}:[0-5]\\d{1}Z$"
        

        【讨论】:

        • 单引号变体:'^\d{4}-[0-1][0-3]-[0-3]\d{1}T[0-2]\d{1}:[0-5]\d{1}:[0-5]\d{1}Z$'
        【解决方案4】:
        \d{4}-[0-1]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-6]\d.\d{3}\+\d\d:\d\d
        

        或者类似的东西?

        在 reg.ex 之后对有效范围进行更多检查可能会更好。

        【讨论】:

        • 你有一个小错字:应该是 "\d{4}-[0-1]\d-[0-3]\dT[0-2]\d:[0- 5]\d:[0-6]\d.\d{3}\+\d\d:\d\d"(+前斜线)
        【解决方案5】:

        正则表达式应该是这样的:

        \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}\+\d{2}:\d{2}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-13
          • 1970-01-01
          • 2014-10-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-09
          相关资源
          最近更新 更多