我有一个表格,其列日期设置为datetime。当我返回并从行获取日期时,它只返回日期而不是时间。
$date = $row["date"];
我尝试格式如下,我得到错误:
警告:date_format()期望参数1为DateTime,字符串为
$date = date_format($row["date"], 'Y-m-d H:i:s');
我如何获得全部价值?
答案 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');
祝你好运