我希望在回显时在mySQL数据库中转换TIMESTAMP日期。我几年前就已经有了这个工作。
"SELECT id, date, title, summery FROM blog_posts ORDER BY id DESC"
我确信它曾经是这样的:
"SELECT id, DATE_FORMAT(date, '%e %b %Y'), title, summery FROM blog_posts ORDER BY id DESC"
首先,我可以将mySQL字段设置为TIMESTAMP,以便我可以自动生成输入日期吗?这不会阻止我在回声中格式化日期吗?
我正在使用的是:
<?php echo $row_blog_posts['date']; ?>
这也是正确的吗?
答案 0 :(得分:2)
要自动设置时间戳,只需添加一个新的时间戳列,默认值为“CURRENT_TIMESTAMP”。
Ed Gibbs回答了约会问题。
答案 1 :(得分:2)
是的,您可以使用TIMESTAMP
格式化DATE_FORMAT
。当我在MySQL命令行上尝试这个时:
SELECT DATE_FORMAT(CURRENT_TIMESTAMP, '%e %b %Y');
我得到了这个结果:
+--------------------------------------------+
| date_format(current_timestamp, '%e %b %Y') |
+--------------------------------------------+
| 30 May 2013 |
+--------------------------------------------+
如果您将格式化的列别名为date
:
SELECT
id,
DATE_FORMAT(date, '%e %b %Y') as `date`,
title,
summery
FROM blog_posts
ORDER BY id DESC
答案 2 :(得分:0)
<?php echo date('Y-m-d H:i', strtotime($row_blog_posts['date'])); ?>
答案 3 :(得分:0)
是的,它是DATE_FORMAT。
我认为不可能自动告诉MySQL更改它返回日期的格式,但从维护的角度来看,使用strtotime()和date()在PHP中使用格式要好得多,因为如果你曾经想要更改格式,在代码中更容易做,特别是如果你想在其他地方以不同的格式使用相同的日期/时间。