【问题标题】:String to Date or Date and Time [duplicate]字符串到日期或日期和时间 [重复]
【发布时间】:2018-07-23 06:31:56
【问题描述】:

我有一个像“20180720171534449”这样的字符串,它是一种时间戳,有没有一种简单的方法可以使用 PHP 将其转换为对人类有意义的日期或日期和时间?

TIA

彼得

【问题讨论】:

    标签: php date time


    【解决方案1】:

    您有一个“YmdHisv”格式,其中 v 是毫秒。
    毫秒不能用 date_create_from_format 解析(正如我今天发现的那样),所以你需要先用 substr 从字符串中删除它。

    $s = "20180720171534449";
    $date = date_create_from_format('YmdHis', substr($s,0,-3));
    echo date_format($date, 'Y-m-d H:i:s'); //2018-07-20 17:15:34
    

    https://3v4l.org/m1XNd


    正如 Ghost 所指出的,如果使用微秒 u 来代替毫秒,则毫秒是比喻。

    $s = "20180720171534449";
    $date = date_create_from_format('YmdHisu', $s);
    echo date_format($date, 'Y-m-d H:i:s\.v'); //2018-07-20 17:15:34.449
    

    【讨论】:

    • 不需要进行字符串操作,因为微秒可能需要 2 到 6 位 3v4l.org/VW8sh
    • 不知道u 我以为是v。谢谢!
    • 谢谢,效果很好! :-)
    • @Peter 没问题。我看到您是新来的,请参观并了解 SO stackoverflow.com/tour 的一些基础知识,当您阅读完整页面后,您将获得徽章。
    猜你喜欢
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多