我正在使用这个查询:SELECT NOW() - date AS elapsed FROM ...
日期列是 TIMESTAMP。当经过的时间约为 4 小时 20 分钟时,它返回 41632。这不是时间戳。它是什么?
或者有没有更好的方法来获取经过时间并使用 PHP 生成,如下所示:“2 分钟前”“3 小时前”“昨天 22:32”
非常感谢!
使用TimeStampDiff函数
select TIMESTAMPDIFF(MINUTE, NOW(), timestamp_column) FROM my_table
这将显示如下值:
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"))
)