我现在正在编写一个客户端服务器应用程序,当客户端向服务器发送命令时,SQL 数据库中的记录被更新,并且在更新时在字段上设置了时间戳。但现在我想用时间戳读取 SQL 数据库中过去一小时内在线的所有用户。
所以这就是我的距离:
SELECT username FROM users WHERE lastonline...
lastonline 是带有用户上次更新时间戳的字段。我现在不知道如何检查他在过去一小时内是否在线。
我感谢你的帮助。
我现在正在编写一个客户端服务器应用程序,当客户端向服务器发送命令时,SQL 数据库中的记录被更新,并且在更新时在字段上设置了时间戳。但现在我想用时间戳读取 SQL 数据库中过去一小时内在线的所有用户。
所以这就是我的距离:
SELECT username FROM users WHERE lastonline...
lastonline 是带有用户上次更新时间戳的字段。我现在不知道如何检查他在过去一小时内是否在线。
我感谢你的帮助。
选择用户名 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)+"'
"
将当前小时与时间戳记录中的小时进行比较。
如果您使用的是 sql 服务器:
SELECT DATEPART(hh, GETDATE())
--当前时间
SELECT DATEOART(hh, ColumnStoredInDB)
--存储小时
剧透:只需从当前小时获取 ColumnStoredInDB,如果差异小于 1,则该用户在过去一小时内一直在系统中。如果差异 >=1,您可以跳过该记录