用php以人类可读的格式显示mysql datetime?

时间:2011-12-20 23:14:16

标签: php mysql

使用以下方法保存到mysql表:

$query = mysql_query("INSERT INTO test SET postit='$postit',postdate=NOW()");

然后我尝试使用以下方式显示它:

echo "<li>" . date("D, d M y H:i:s O",$row['timestamp']) . " - " . $row['postit'] . "</li>";

它会在数据库中保存正确的时间,但它会呈现:

  

Thu,01 Jan 70 01:00:00 +0100

有人指出愚蠢吗?

2 个答案:

答案 0 :(得分:9)

PHP date()函数使用Unix时间戳作为函数中的第二个变量。你传递给函数的是MySQL时间戳。尝试使用:

echo date("D, d M y H:i:s O",strtotime($row['timestamp']));

答案 1 :(得分:1)

我总是喜欢使用这个功能:

function parse_sql_timestamp($timestamp, $format = 'd-m-Y')
{
    $date = new DateTime($timestamp);
    return $date->format($format);
}

这样我们甚至可以超越2038;)

相关问题