我正在使用此查询: SELECT NOW() - 日期AS已经过了......
日期列是TIMESTAMP。 当经过的时间约为4小时20分钟时,它返回41632。 这不是时间戳。 它是什么?
或者有没有更好的方法来获取经过的时间并使用PHP生成如下: “2分钟前” “3小时前” “昨天22:32”
非常感谢!
答案 0 :(得分:15)
使用TimeStampDiff功能
select TIMESTAMPDIFF(MINUTE, NOW(), timestamp_column) FROM my_table
答案 1 :(得分:0)
这将显示如下值:
1 month
6 months
4 years
1 year
12 years
...
IF (
TIMESTAMPDIFF(YEAR, timestamp_column, NOW()) > 0,
CONCAT(TIMESTAMPDIFF(YEAR, timestamp_column, NOW()), " year", IF(TIMESTAMPDIFF(YEAR, timestamp_column, NOW())=1,"","s")),
CONCAT(TIMESTAMPDIFF(MONTH, timestamp_column, NOW()), " month", IF(TIMESTAMPDIFF(MONTH, timestamp_column, NOW())=1,"","s"))
)