在select语句中,将日期强制转换为datetime。前
我有一个列日期设置为datetime的表。当我返回并从行中获取日期时,它只返回日期,而不是时间。
$date = $row["date"];
我已经尝试格式化如下,我得到的错误:
警告:date_format()要求参数1为DateTime,给定的字符串
$date = date_format($row["date"], 'Y-m-d H:i:s');
如何获得全部价值?
SELECT CAST(date AS DATETIME) newDate
并将其检索为
$dateTime = strtotime($row["newDate"]);
try:
$date = date_format(new DateTime($row['date']), "Y-m-d H:i:s");
或
$date = date('Y-m-d H:i:s', strtotime($row['date']));
您需要将字符串$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
您需要首先将字符串转换为日期类型。然后date_format()将起作用。请尝试以下操作。
$date = date_format(date_create($row["date"]), 'Y-m-d H:i:s');
好运