【问题标题】:Regex for timestamps in phpphp中时间戳的正则表达式
【发布时间】:2009-11-17 00:49:58
【问题描述】:

我正在尝试采用这种格式的时间戳:

2009-11-16T14:05:22-08:00

把它们变成类似的东西

2009-11-16

如何删除“T”之后的所有内容?

【问题讨论】:

    标签: php regex time


    【解决方案1】:

    也许这行得通:

    date('Y-m-d', strtotime('2009-11-16T14:05:22-08:00'));
    

    【讨论】:

      【解决方案2】:

      假设它们都采用这种格式,最简单的方法是:

      $result = substr($timestamp,0,10);
      

      其中时间戳是您的起始时间戳,结果是您修改后的时间戳。

      【讨论】:

      • 我考虑过,但如果我们在一个月内或在本月的前几天会不会有问题?这不是搞砸了吗?
      • 一位数的月份和日期可能会有前导零,例如您示例中的“14:05:22”中的“05”。
      • 格式化该格式(ISO8601 带全日制和全日制),您需要始终收到两位数的日期和月份
      【解决方案3】:

      你可以使用explode():

      list($date) = explode('T', '2009-11-16T14:05:22-08:00');
      

      $date 现在将是 '2009-11-16'

      【讨论】:

        【解决方案4】:

        由于 OP 将其标记为 php 和 regex 问题,我会给他一个 php 和 regex 答案:

        $result = preg_replace("/T.*/", "", $timestamp);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-12-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-01
          • 1970-01-01
          • 2013-08-06
          • 1970-01-01
          相关资源
          最近更新 更多