【问题标题】:Formatting a Date String php [closed]格式化日期字符串php [关闭]
【发布时间】:2012-02-14 07:29:32
【问题描述】:

我有一个日期字符串,如下所示:

Thu Feb 09 2012 07:25:00 GMT 0000 (GMT Standard Time)

我需要把它转换成

d-m-Y H:i

格式。

关于如何做到这一点的任何想法?

【问题讨论】:

  • @Gordon:如果你要对我做任何研究,那么这是我最后的选择,我确实搜索了这个函数,因为我找不到我需要的那个函数。在这里,因为我不知道该怎么做。
  • 找到date and time functions并不难。

标签: php string date format


【解决方案1】:

【讨论】:

  • 我看到了它们,但它们没有任何帮助,因为我的有点不同
【解决方案2】:

使用子字符串解析字符串,然后使用 mktime 构建日期,最后使用日期函数对其进行格式化。

【讨论】:

    【解决方案3】:
    $date = 'Thu Feb 09 2012 07:25:00 GMT 0000 (GMT Standard Time)';
    $date = str_replace(' 0000 (GMT Standard Time)','',$date);
    $date = strtotime($date);
    echo date('d-m-Y H:i',$date);
    

    【讨论】:

    • 啊,你的答案直接开箱即用。谢谢!
    • substr() 可能会更好,除非0000 (GMT Standard Time) 始终存在。
    【解决方案4】:

    假设 PHP 5.4+,你可以使用 (demo)

    $d = 'Thu Feb 09 2012 07:25:00 GMT 0000 (GMT Standard Time)';
    $obj = DateTime::createFromFormat('D M d Y H:i:s e +', $d);
    

    【讨论】:

    • 您希望 * 成为 +(从 PHP 5.4 开始)。 * 并没有像你想象的那样做(它停在分隔符和数字处)。
    • 那会很好,除非我没有运行 5.4+ 我只运行 5.3 :/
    • @DarkMantis:实际上,我说的是 5.3+。 Gordon 出于某种原因将其更改为 5.4。
    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多