Ind*_*ion 1 php mysql datetime
我试图通过提取数字部分来解决它,然后使用日期函数解析它.但它告诉我一些旧日期,我猜这是不正确的.
$datef = "1490914800000+0100";
$adada = date('Y-m-d H:i:s', $datef);
// Gives date 1987-10-13 18:31:28 which is an old date. Please suggest.
Run Code Online (Sandbox Code Playgroud)
这个SO问题很好地涵盖了一种方法,即使用该DateTime()函数将时间从纪元转换为日期,然后使用format().但是你的数据有两点需要注意.首先,你似乎有一个自纪元以来的毫秒,需要转换为秒.其次,你还有一个时区的转换,以小时为单位,标记到最后.我将你的$datef字符串分成两部分,epoch和timezone,然后到达epoch以来的秒数.
list($epoch, $timezone) = explode('+', $datef);
$epoch = ($epoch / 1000) + (substr($timezone, 0, 2)*60*60) +
(substr($timezone, 2, 2)*60);
$dt = new DateTime("@$epoch");
echo $dt->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
输出:
2017-03-31 00:00:00
Run Code Online (Sandbox Code Playgroud)
在这里演示: