我如何计算从当前日期到DateTime mysql字段的过去几天/周

时间:2011-11-25 07:25:40

标签: mysql datetime

我在mysql中有数据时间字段,我正在使用php。 如何计算并向用户呈现从当前时间到现场时间的过去时间的最佳方式? 所以它给我提供了类似的东西:

2 days ago ..
2 weeks ago ...

2 个答案:

答案 0 :(得分:3)

您可以使用SQL DATEDIFF函数在SELECT语句中包含已经过的天数。然后在PHP转换中将天数转换为数周或数月......

类似的东西:

SELECT DATADIFF(date, NOW()) AS daysPassed, ... FROM table

在php中:

$show //the string to display
$days = ... //get the daysPassed value from SQL
if($days > 6)
   $show = $days % 7 + " weeks ago";
else
   $show = $days + " days ago";

答案 1 :(得分:1)

您可以使用DateDiff(CurrentTime, DatabaseTimeField)功能。它将返回Days中两个日期之间的差异。然后你可以利用那些日子向用户展示差异。

e.g。

if(days <= 6)
 displays days
else
 display days%7 weeks