在PHP中从SQL格式化时间戳的最简单方法是什么?

Jos*_*all 10 php mysql formatting timestamp

什么是最简单,最快速的方法来完成下面的PHP代码,使输出是用户友好的格式(例如,"2006年10月27日")?

$result = mysql_query("SELECT my_timestamp FROM some_table WHERE id=42", $DB_CONN);
$row = mysql_fetch_array($result);
$formatted_date = ???($row['my_timestamp']);
echo $formatted_date;
Run Code Online (Sandbox Code Playgroud)

Aro*_*eel 22

您可以使用MySQL为您执行此操作,

$result = mysql_query("SELECT DATE_FORMAT(my_timestamp, '%M %d, %Y) AS my_timestamp FROM some_table WHERE id=42", $DB_CONN);
$row = mysql_fetch_array($result);
$formatted_date = $row['my_timestamp'];
echo $formatted_date;
Run Code Online (Sandbox Code Playgroud)

或者使用PHP,

$result = mysql_query("SELECT my_timestamp FROM some_table WHERE id=42", $DB_CONN);
$row = mysql_fetch_array($result);
$formatted_date = strftime('%B %d, %y', $row['my_timestamp']);
echo $formatted_date;
Run Code Online (Sandbox Code Playgroud)


eno*_*rev 10

我倾向于在S​​QL中进行日期格式化,就像Aron回答一样.虽然PHP日期,我更喜欢使用的DateTime对象(PHP5 +)在日期:

$timestamp = new DateTime($row['my_timestamp']);
echo $timestamp->format('F j, Y') . '<br />';
echo $timestamp->format('F j, Y g:ia');
Run Code Online (Sandbox Code Playgroud)