0

在我的 mySQL 数据库中,我有一个名为 FlowerOpen 的字段,它在我的 php 脚本中采用 DATE 格式 (YYYY-MM-DD),我想对其进行转换,以便用户看到 2012 年 5 月 28 日星期一

我一直在寻找有关如何将 DATETIME 转换为 DATE 但不是将 DATE 转换为 DATETIME 的解释

我尝试使用以下命令转换日期:

$Date = DATE_FORMAT($ResultsLists['FlowerOpen'],'%W, %M %e, %Y');

我不断收到以下错误:

Warning: date_format() expects parameter 1 to be DateTime, string given in
C:\xampp\htdocs\Orchid\viewPlantInfo.php on line 383

所以我尝试将 FlowerOpen 转换为 DATETIME,然后使用以下格式对其进行格式化:

$Date = date("Y-m-d H:i:s", strtotime($ResultsLists['FlowerOpen']));
$Date = DATE_FORMAT($Date,'%W, %M %e, %Y');

但我得到了同样的错误信息。

我也试过

$Date = SELECT CAST($ResultsLists['FlowerOpen'] AS DATETIME);
$Date = DATE_FORMAT($Date,'%W, %M %e, %Y');

但我得到了错误

Parse error: syntax error, unexpected T_STRING in 
C:\xampp\htdocs\Orchid\viewPlantInfo.php on line 382 (the CAST line)
4

2 回答 2

1

您可以使用以下方式通过 php 转换它strtotime

echo date('l, M d, Y', strtotime($yourDate));

工作示例

echo date('l, M d, Y', strtotime('2012-05-29')); // Tuesday, May 29, 2012
于 2012-05-28T19:52:12.737 回答
0

您可以通过使用mktime()函数将 DATETIME 转换为 unix 时间戳格式将 DATETIME 存储在 mysql 中,当您从数据库中检索它时,您可以使用date()函数将其转换为所需的格式。

PS 在将数据时间存储到数据库之前将其转换为 unix 时间戳可以在以后使用日期时为您提供许多优势

于 2012-05-28T20:13:33.383 回答