【发布时间】:2014-12-29 13:32:44
【问题描述】:
如果不是00:00:00,如何显示时间?这行得通,但是,我质疑是否有一种不那么神秘的方法。请注意,提供的日期时间将是标准的 MySQL 日期时间数据类型,并且要显示的所需日期时间会有所不同。谢谢
<?php
function formatDate($d)
{
$f='Y-m-d'.((strlen($d)==19 && substr($d, -8)!='00:00:00')?' H:i:s':null);
$date = new DateTime($d);
return $date->format($f);
}
echo(formatDate("2014-11-02 02:04:05").'<br>');
echo(formatDate("2014-11-02 00:00:00").'<br>');
?>
【问题讨论】:
-
检查这个,看看是否有帮助:stackoverflow.com/questions/13129817/…
-
@LuísFerreira。谢谢 Luis,但我认为它不适用。
-
你不能只检查时间是否为
00:00:00,然后根据它选择日期格式吗?我看不出真正的问题是什么。 -
@约翰。这就是我在发布的示例中所做的。我不知道 PHP 日期类是否有一些内置方法可以这样做。
-
为什么要将日期重新格式化为相同的格式?你不能只是
str_replace(' 00:00:00', '', $d)吗?
标签: php