我想将日期保存到数据库中,然后,当我从数据库中获取结果时,我想按日期排序并按日期分类:例如,显示不到一天的结果等等…保存日期的最佳方式是什么?
如果您引用的是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
使用timestamp
作为存储日期的列的数据类型。如果要存储当前时间,请使用函数now()
来存储日期。
或者使用PHP:中的strtotime()
函数
$timestamp = strtotime('22-09-2008');
在表中创建一个名为"LastSaved"的字段,其数据类型为TIMESTAMP。然后,您可以在保存或插入数据时在查询中使用NOW()作为值更新此字段。
或者,如果您使用触发器,请在插入之前和更新之前事件中创建一个基本触发器
SET NEW.LastSaved= NOW();
要订购结果,您可以执行类似的操作
SELECT FieldName FROM YourTableName
ORDER BY LastSaved DESC
Datetime是一个很好的解决方案,但如果您关心夏令时,请使用时间戳。