字符串到日期或日期和时间

时间:2018-07-23 06:31:56

标签: php date time

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

TIA

彼得

1 个答案:

答案 0 :(得分: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