在PHP和mySQL中将DATE转换为DATETIME

时间:2012-05-28 19:47:28

标签: php mysql datetime date

在我的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)

2 个答案:

答案 0 :(得分:1)

您可以使用strtotime通过php进行转换,如下所示:

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

Working Example

echo date('l, M d, Y', strtotime('2012-05-29')); // Tuesday, May 29, 2012

答案 1 :(得分:0)

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

P.S在将数据时间存储到数据库之前将数据时间转换为unix时间戳,以后可以在您希望使用日期时为您提供大量优势