从日期中删除小时、分钟和秒(“r”)


Remove hour, minute and second from a date('r")

我有一个格式为的日期

date("r",$dateMktime);

在$dateMktime中,我只有年、月和日,并且我必须使用日期("r")格式。

如何删除小时、分钟和秒?我不想在回显日期时看到00:00:00。

知道吗?谢谢:)

编辑:我不能使用不同的格式,使用日期('r')是我的义务,我只能做回显日期("r",$dateMktime);

为什么不重新转换然后格式化?如果您"有义务"使用r

$date = date("r", $dateMktime);
echo date('D, j M Y', strtotime($date));

根据日期的文档,date('r')确实包括时间。请改用date('Y-m-d')。如果不能更改,可以使用字符串函数删除其余部分。

$date=date("r",$dateMktime);
$d=explode(" ",$date);
$newdate=$d[0]." ".$d[1]." ".$d[2]." ".$d[3];
echo $date." - ".$newdate;

您可以尝试以下操作:;

$dateMktime = "Thu, 21 Dec 2000 16:01:07 +0200";
$datearray = (explode(" ",$dateMktime));
echo $datearray[3];//this will return 2000

您可以连接此数组的特定部分以获得自定义日期格式。例如

echo $datearray[1]." ".$datearray[2]." ".$datearray[3];//this will return 21 Dec 2000

"r"只是给出日期格式为"2000年12月21日星期四16:01:07+0200"的快捷方式。

您可以使用其他格式的字符串,请参阅http://php.net/manual/en/function.date.php了解更多信息。

尝试date("D, j M Y",$dateMktime);

如果您真的想使用date("r",$dateMktime);,请尝试:

implode(" ",array_slice(explode(" ",date("r",$dateMktime)),0,4));

这基本上只是在空间上进行拆分,切下前4个标记,然后将它们重新连接起来。