3

我想将日期保存到数据库中,然后,当我将从数据库中获取结果时,我想按日期对它们进行排序并按日期对它们进行分类:例如显示不到一天的结果等等。 . 保存日期的最佳方法是什么?

4

4 回答 4

10

如果您指的是 MySQL 列数据类型,请使用DATE除非您当然也希望包含时间,在这种情况下它是DATETIME. 一个常见的总是TIMESTAMP,但不同的架构可能会产生不想要的结果。

总之:DATE

关于日期和时间格式:http ://dev.mysql.com/doc/refman/5.0/en/datetime.html

至于订购,这将与正常情况相同:ORDER BY my_date_column

不到 1 天:WHERE my_date_column = DATE(NOW()) - INTERVAL 1 DAY

于 2013-08-22T15:32:50.543 回答
1

用作timestamp存储日期的列的数据类型。要存储日期,now()如果您想存储当前时间,请使用该功能。

或者使用strtotime()PHP 中的函数:

$timestamp = strtotime('22-09-2008');
于 2013-08-22T15:31:59.873 回答
0

在您的表中创建一个名为“LastSaved”的字段,其数据类型为 TIMESTAMP。然后,您可以在保存或插入数据时在查询中使用 NOW() 作为值更新此字段。

或者,如果您使用触发器,则在 Before Insert 和 Before Update 事件中创建基本触发器

SET NEW.LastSaved= NOW();

要订购结果,您可以执行以下操作

SELECT FieldName FROM YourTableName
ORDER BY LastSaved DESC
于 2013-08-22T15:33:02.573 回答
0

日期时间是一个很好的解决方案,但如果您关心夏令时,请使用时间戳。

于 2013-08-22T15:34:00.503 回答