PHP中的日期函数无法正常工作

时间:2015-10-03 10:00:19

标签: php date

使用以下代码将日期格式从mm-dd-yy hh:ii:ss转换为yy-mm-dd hh:ii:ss格式。

<?php
echo $start_date =  date("Y-m-d H:i:s",strtotime("10-14-2015 00:00:00"));
?>

但结果是

1970-01-01 05:30:00

如果不是使用日期的正确方法,请提供替代方式

3 个答案:

答案 0 :(得分:3)

首先检查this回答这里的日期之间的区别是什么,只需使用str_replace就像

一样
echo $start_date =  date("Y-m-d H:i:s",strtotime(str_replace("-","/","10-14-2015 00:00:00")));

或者您也可以像{/ p>一样使用DateTime::createFromFormat

$date = DateTime::createFromFormat("m-d-Y H:i:s","10-14-2015 00:00:00");
echo $date->format('Y-m-d');

Demo

答案 1 :(得分:1)

阅读手册:http://php.net/manual/en/function.strtotime.php 并指定您的PHP版本。

它有一个关于检查strtotime转换是否成功的一个很好的例子:

if (($timestamp = strtotime($str)) === false) {

这种转换非常关键,它只支持有限数量的格式,这些格式应按日/月/年非常精确地指定,并且分隔符/或 - 或:

因此,您必须从以下列表中选择您将支持的格式: http://php.net/manual/en/class.datetime.php

务必创建具有文化意识的代码(例如美国/英国/ ......格式)

答案 2 :(得分:1)

请编写如下代码:  echo $start_date = date("Y-m-d H:i:s",strtotime("10/14/2015 00:00:00"));