PHP 5.1.2中的日期格式转换

时间:2014-08-07 05:07:02

标签: php cakephp

1.2并且需要将日期从dd/mm/yyyy转换为yyyy-mm-dd 例如,如果日期采用07/08/2014格式,则应显示为2014-08-07

如何做到这一点?我知道strtotime会返回unix时间戳,但它似乎不适用于带有斜杠(/)的日期。我很高兴使用5.1,其中不支持很多DateTime个功能。

请帮忙。

5 个答案:

答案 0 :(得分:2)

使用DateTime类,strtotime函数会在日期少于 1901 时使用PHP 5.3.0创建问题

试试这种方式

$date = DateTime::createFromFormat('d/m/Y', "07/08/2014");
$new_date_format = $date->format('Y-m-d');

答案 1 :(得分:0)

需要在-尝试使用date()(带短划线的日期字符串分隔)传递正确的格式

$d = str_replace('/', '-','07/08/2014');
echo date('Y-m-d', strtotime($d)); //2014-08-07 

DateTime

$objDateTime = new DateTime($d);
echo $objDateTime->format('Y-m-d'); //2014-08-07 

答案 2 :(得分:-1)

使用date()功能,您可以试试这个

echo date('Y-d-m',strtotime('07/08/2014'));

查看documentation了解更多

答案 3 :(得分:-1)

您可以date('Y-m-d',strtotime($date))

执行此操作

$date处于您希望转换为YYYY-MM-DD格式的任何格式。

答案 4 :(得分:-1)

方法:1 demo

$date1 = "07/08/2014";
$arr = explode("/", $date1);

$date2 = $arr[2]."-".$arr[1]."-".$arr[0];
echo $date2;

方法:2 demo

$date1 = "07/08/2014";
list($day, $month, $year) = explode("/", $date1);

$date2 = $year."-".$month."-".$day;
echo $date2;

方法3:strtotime Demo

$date1 = "07/08/2014";
$date1 = str_replace("/", "-", $date1);
$date2 = date('Y-m-d', strtotime($date1));
echo $date2;