2012-06-06 336 views
104

我将上次登录时间存储在MySQL中,datetime-type字段中。当用户登录时,我想要了解上次登录时间和当前时间(我使用的是NOW())之间的区别。计算MySQL中两个日期时间之间的差异

我该如何计算它?

+0

http://stackoverflow.com/questions/2546053/mysql-difference-between-two-timestamps-in-days/28451483#28451483 – Kamlesh

回答

207

USE TIMESTAMPDIFF MySQL函数。例如,你可以使用:

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

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

+0

这是更新最后登录的权利?我想要的就像在你的问题stackoverflow 2s前,30s前,2分钟前发布..等我想要类似的功能。例如,有一个表格表示REQUESTS(id,message,timestamp)。时间戳存储将NOW()。当我运行一个查询时,从请求中选择*,而不是显示该值,它应该显示id,消息以及多长时间后发送请求。 –

+0

当执行查询SELECT TIMESTAMPDIFF(SECOND,NOW(),'从请求中选择id ='2'')的lastLoginTime时,它返回NULL。任何想法为什么? –

+0

从id ='2'的请求中选择lastLoginTime的输出是什么? – FSP

相关问题