请不要mysql_*
在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDO或MySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程。
您需要调用mysql_fetch_assoc()
以$session_query
将其转换为可用数组。
您还需要$session_query['upload_date']
通过将其转换为预期strtotime()
的整数。date()
$session_query = mysql_query($sql);
$row = mysql_fetch_assoc($session_query);
$upload_date_formatted = date('M jS, Y', strtotime($row['upload_date']));
echo '<h6> Uploaded on '.$upload_date_formatted.' .</h6>';
因为您正在尝试从非数组传递一个数组键,这将是null
,当转换为整数时date()
将为零,从而导致您看到 01/01/1970 日期。这也会引发一些错误 - 您应该打开错误报告,因为它可以帮助您更快地跟踪开发环境中的错误:
error_reporting(-1);
ini_set('display_errors', 1);
或者,您可以使用DateTime
对象和createFromFormat()
方法:
$session_query = mysql_query($sql);
$row = mysql_fetch_assoc($session_query);
$date = DateTime::createFromFormat('Y-m-d H:i:s', $row['upload_date']);
$upload_date_formatted = $date->format('M jS, Y');