我有一个客户端应用程序,它将每五分钟更新一次数据库的当前时间,然后我想将此时间输出为单独的 VB 应用程序中的最后一个活动表。
我知道 mysql 时间,但我不太明白如何使用它来显示客户端上次活动的时间。
我环顾四周,发现了一些关于 mysql 时代的东西,但我并不完全理解。
任何帮助都会很棒,如果有帮助,我会将结果放在带有“客户端名称”和“上次活动”的 ListView 中,并且我已经知道如何连接到我的数据库并检索信息。
谢谢你。
我建议使用DATETIME
存储。TIME
数据类型仅限于单个“一天中的时间”或时间跨度。诚然,您正在寻找一天中的时间,但要计算“上次活动”时间,您需要附加日期。考虑这些“上次活动”值(使用 24 小时制):
3/26/2013 at 17:00:00
<--这是最长的时间(下午 5 点),但是...3/27/2013 at 08:15:00
<-- ...这是最近的时间,因为它发生在第二天换句话说,您需要日期以便对时间进行排序。
MySQLDATETIME
数据类型应该是VB.NET支持的,但是我从来没有同时使用过这两个,所以不能保证。要仅查询和报告日期的时间部分,您有很多选择。这里有两个:
从 MySQL 查询整个日期/时间并将其作为System.DateTime
值返回给 VB.NET。在 VB.NET 中,您可以将其格式化DateTime.ToString
为仅显示时间组件。MySQL 查询会是这样的:
SELECT ClientName, MAX(LastActive) AS LastActiveDateTime
FROM your_table
GROUP BY ClientName
在 MySQL 中格式化时间并将其作为 a 返回String
到 VB.NET。在 VB.NET 中,您只需要按原样显示字符串。MySQL 查询会是这样的:
SELECT ClientName, DATE_FORMAT(MAX(LastActive), '%r') AS LastActiveTime
FROM your_table
GROUP BY ClientName
上述查询中的格式代码%r
将以 12 小时格式返回时间,包括 AM/PM,例如07:55:29 PM
. 要返回 24 小时格式 ( 19:55:29
),请%T
改用。