根据php中的日期差异显示数据库中的数据

时间:2012-03-16 05:38:00

标签: php mysql html

我在数据库表departureDateTime and arrivalDateTime中有两个字段,其值如

departureDateTime=03/18/2012 1:05 PM 

arrivalDateTime=03/18/2012 3:15 PM

我在表格中有数百条记录。

我需要根据这两次的持续时间进行排序和显示。我知道要计算两个日期的持续时间

Duration=(strtotime($arrivalDateTime') - strtotime($departureDateTime))/3600

但是我如何编写一个mysql查询来从数据库中排序和显示这100条记录

有人有任何想法吗?

谢谢

2 个答案:

答案 0 :(得分:1)

将departureDateTime更改为DATETIME而不是varchar或您当前使用的任何内容。然后你会使用这样的东西:

SELECT other, stuff, TIMEDIFF(departureDateTime, arrivalDateTime) as theDifference FROM myTable ORDER BY theDifference ASC LIMIT 0, 100

答案 1 :(得分:0)

如果您将日期和时间保留在日期时间列类型中,那么您就不会遇到此问题。考虑改变。

还有mysql函数来计算日期和时间 http://dev.mysql.com/doc/refman/5.6/en/datetime.html

如果没有,你可以使用usort在PHP中进行排序。