我在MySQL中有一个日期时间列。

如何将其转换为显示为mm/dd/yy H:M (AM/PM)使用PHP?


当前回答

忘记所有。只使用:

$date = date("Y-m-d H:i:s",strtotime(str_replace('/','-',$date)))

其他回答

这会有用的……

echo date('m/d/y H:i (A)',strtotime($data_from_mysql));

将从MySQL检索到的日期转换为所要求的格式(mm/dd/yy H:M (AM/PM)):

// $datetime is something like: 2014-01-31 13:05:59
$time = strtotime($datetimeFromMysql);
$myFormatForView = date("m/d/y g:i A", $time);
// $myFormatForView is something like: 01/31/14 1:05 PM

请参考PHP日期格式选项来调整格式。

如果您正在使用PHP 5,也可以尝试一下

$oDate = new DateTime($row->createdate);
$sDate = $oDate->format("Y-m-d H:i:s");

取决于你的MySQL datetime配置。典型格式:2011-12-31 07:55:13。这个非常简单的函数应该有魔力:

function datetime()
{
    return date( 'Y-m-d H:i:s', time());
}

echo datetime(); // display example: 2011-12-31 07:55:13

或者更高级一点来匹配问题。

function datetime($date_string = false)
{
    if (!$date_string)
    {
        $date_string = time();
    }
    return date("Y-m-d H:i:s", strtotime($date_string));
}

你可能会遇到Unix时间戳中没有返回的日期的问题,所以这对我来说是可行的…

return date("F j, Y g:i a", strtotime(substr($datestring, 0, 15)))