计算MySQL中两个日期时间之间的差异

时间:2012-06-06 03:18:38

标签: mysql

我将最后一次登录时间存储在MySQL datetime - 类型字段中。当用户登录时,我希望获得上次登录时间和当前时间之间的差异(我使用NOW()获得)。

我该如何计算?

3 个答案:

答案 0 :(得分:256)

USE TIMESTAMPDIFF MySQL功能。例如,您可以使用:

SELECT TIMESTAMPDIFF(SECOND, '2012-06-06 13:13:55', '2012-06-06 15:20:18')

在您的情况下,TIMSTAMPDIFF函数的第三个参数将是当前登录时间(NOW())。第二个参数是最后一次登录时间,它已在数据库中。

答案 1 :(得分:0)

我对逻辑的两分钱

语法是“旧日期”-:“新日期”,所以:

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:00', '2018-11-15 15:00:30')

给30岁,

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:55', '2018-11-15 15:00:15')

给出: -40

答案 2 :(得分:0)

如果开始日期和结束日期在不同的日期,请使用TIMEDIFF。

SELECT TIMEDIFF(datetime1,datetime2)

如果datetime1> datetime2那么

SELECT TIMEDIFF("2019-02-20 23:46:00","2019-02-19 23:45:00")

给予:24:01:00

和datetime1

SELECT TIMEDIFF("2019-02-19 23:45:00","2019-02-20 23:46:00")

给予:-24:01:00