很多以前,我们决定将时间戳存储在SQL表中,如下所示:
date ("Y-m-d_H-i-s")
这会生成一个类似2017-02-04_00-37-45
的时间戳。
时间已经过去了,它已经达到了我需要能够操作这些数据的程度,整理了1月份创建了多少行等等,所以我需要将时间戳转换为epoches。
该表有大约1000行,我打算使用PHP来完成这项工作。
strtotime($row["time"]);
返回空和
$date = new DateTime($time);
echo $date->format("Y-m-d_H-i-s");
只是提供了这个错误:
PHP致命错误:未捕获的异常'异常' with message' DateTime :: __ construct():无法解析位置10(_)处的时间字符串(2017-02-03_09-41-42):意外字符
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:1)
strtotime()
或其他需要给定格式的函数无法识别您的格式,因为您使用下划线而不是空格,并且在您的小时/分钟/秒之间使用短划线。但是,您可以使用DateTime::createFromFormat()
从特定格式创建,这将根据您的内容创建DateTime对象。
$date = DateTime::createFromFormat("Y-m-d_H-i-s", $row["time"]);