在PHP中更改数组的日期格式

时间:2014-10-24 03:54:52

标签: php arrays date datetime

我从以下格式的数组中收到日期:

2014-10-22 07:24:57 EDT

我想将此转换为仅回显月份和日期,如下所示:Oct 22

当我从15-Feb-2009格式更改时,我的代码工作正常。

<?php

$date = DateTime::createFromFormat('D-M-Y', '15-Feb-2009');
$nice_date = $date->format('M j');

echo $nice_date;

?>

这就是我所拥有的不起作用。可能甚至没有关闭。

$array_date = '2014-10-22 07:24:57 EDT';
$date = DateTime::createFromFormat('YY-MM-DD HH:II:SS EDT', $array_date);
$nice_date = $date->format('M j');

echo $nice_date;

我现在不知所措。有什么想法吗?

4 个答案:

答案 0 :(得分:4)

如果要明确提供格式,则必须提供正确的格式。

$array_date = '2014-10-22 07:24:57 EDT';
$date = DateTime::createFromFormat('Y-m-d H:i:s e', $array_date);
$nice_date = $date->format('M j');
echo $nice_date;

答案 1 :(得分:2)

$str = "2014-10-22 07:24:57 EDT";

echo date("M d", strtotime($str)); // Oct 22

答案 2 :(得分:1)

尝试以下操作(我使用datestrtotime):

$originalDate = "2014-10-22 07:24:57 EDT";
$newDate = date("M j", strtotime($originalDate));
echo $newDate;

答案 3 :(得分:-1)

$array_date = '2014-10-22 07:24:57 EDT'; $date = DateTime::createFromFormat('YY-MM-DD HH:II:SS EDT', $array_date); $nice_date = date('M d',$date); echo $nice_date;