datetime仅返回日期

时间:2013-02-03 05:49:24

标签: php mysql sql datetime

我有一个表格,其列日期设置为datetime。当我返回并从行获取日期时,它只返回日期而不是时间。

 $date = $row["date"];

我尝试格式如下,我得到错误:

警告:date_format()期望参数1为DateTime,字符串为

 $date = date_format($row["date"], 'Y-m-d H:i:s');

我如何获得全部价值?

4 个答案:

答案 0 :(得分:2)

在您的select语句中,将日期转换为datetime。前

SELECT CAST(date AS DATETIME) newDate

并将其检索为

$dateTime = strtotime($row["newDate"]);

答案 1 :(得分:2)

您需要将字符串$ date转换为正确的类型。我必须尝试一些方法才能做到这一点,但这现在在我的机器上运行:

$thisDate = "2013-02-02 22:17:06"; // example you gave, as a string

$timezone="America/New_York";      // machine was complaining when I didn't specify

$DT = new DateTime($thisDate, new DateTimeZone($timezone)); // this really is a DateTime object

echo $DT->format('Y-m-d H:i');    // you can echo this to the output

$dateString = $DT->format('Y-m-d H:i:s');  // or format it into a string variable

答案 2 :(得分:2)

尝试:

$date = date_format(new DateTime($row['date']), "Y-m-d H:i:s");

OR

$date = date('Y-m-d H:i:s', strtotime($row['date']));

答案 3 :(得分:0)

您需要先将字符串转换为日期类型。然后date_format()将起作用。请尝试以下方法。

$date = date_format(date_create($row["date"]), 'Y-m-d H:i:s');

祝你好运