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