我正在开发一个系统来重新设置日期格式,例如:yyyy / mm / dd-hh-mm-ss.00,我需要将其转换为Y-m-d H:i:s。
我做的是:
$newDate = date("Y-m-d H:i:s", strtotime($values[2]));
其中$ values [2]它是该格式的日期,对于instace:2014/01 / 01-13-18-23.00。但结果是:1970-01-01 01:00:00
你能帮助我吗?
由于
答案 0 :(得分:1)
你应该可以这样做:
$date = DateTime::createFromFormat("Y/M/d-H-i-s.00", $values[2]);
echo $date->format("Y-m-d H:i:s");
答案 1 :(得分:1)
您可以尝试使用strptime
$format = "%Y-%m-%d %H:%i:%s";
echo strptime($values[2], $format);
答案 2 :(得分:1)
尝试使用DateTime
$date = DateTime::createFromFormat('Y/m/d-H-i-s.00', '2014/01/01-13-18-23.00');
echo $date->format('Y-m-d H:i:s');
请参阅演示here
答案 3 :(得分:1)
strtotime()函数的dateTime格式是预定义的,您必须遵循规则才能获得所需的结果。
此处提供了混合日期时间格式PHP: Compound Formats - Manual