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

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


当前回答

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

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

其他回答

将从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日期格式选项来调整格式。

使用date函数:

<?php
    echo date("m/d/y g:i (A)", $DB_Date_Field);
?>
$valid_date = date( 'm/d/y g:i A', strtotime($date));

参考:http://php.net/manual/en/function.date.php

使用PHP版本4.4.9和MySQL 5.0,这对我来说是有效的:

$oDate = strtotime($row['PubDate']);
$sDate = date("m/d/y",$oDate);
echo $sDate

PubDate是MySQL中的列。

SELECT 
 DATE_FORMAT(demo.dateFrom, '%e.%M.%Y') as dateFrom,
 DATE_FORMAT(demo.dateUntil, '%e.%M.%Y') as dateUntil
FROM demo

如果您不想更改PHP代码中的每个函数,以显示预期的日期格式,请在源代码—您的数据库中更改它。

重要的是要像上面的例子一样,用as操作符来命名行(如dateFrom, dateUntil)。你在这里写的名字,这些行会在结果中被调用。

此示例的输出将是

[每月的第一天,数字(0..31)]。[月份名称(一月至十二月)]。[年份,数字,四位数]

例如:5. august.2015

使用分隔符更改圆点,并检查DATE_FORMAT(date,format)函数以获得更多的日期格式。