0

我现在正在编写一个客户端服务器应用程序,当客户端向服务器发送命令时,SQL 数据库中的记录被更新,并且在更新时在字段上设置了时间戳。但现在我想用时间戳读取 SQL 数据库中过去一小时内在线的所有用户。

所以这就是我的距离:

SELECT username FROM users WHERE lastonline...

lastonline 是带有用户上次更新时间戳的字段。我现在不知道如何检查他在过去一小时内是否在线。

我感谢你的帮助。

4

2 回答 2

1

选择用户名 FROM user WHERE lastoinline>"date now - 1 hour" AND lastoinline<="date now"

Date dеNow = new Date();
Date веBefore = tdNow; tdBefore.setHours(tdBefore.getHours()-1);
String query = "SELECT username FROM user WHERE lastonline>='"+(dtBefore.getTime/1000)+"' AND lastonline<='"+(dtNow.getTime/1000)+"'

"

于 2012-12-12T08:14:46.017 回答
0

将当前小时与时间戳记录中的小时进行比较。

如果您使用的是 sql 服务器:

SELECT DATEPART(hh, GETDATE())--当前时间

SELECT DATEOART(hh, ColumnStoredInDB)--存储小时

剧透:只需从当前小时获取 ColumnStoredInDB,如果差异小于 1,则该用户在过去一小时内一直在系统中。如果差异 >=1,您可以跳过该记录

于 2012-12-12T08:08:53.800 回答