比较mysql中的两个时间戳
我从mysql中检索了两个datetime变量。 一个等于“now()”,另一个表示上一次更改行的时间 我需要比较这两个datetime值以获得两者之间的差异 这就是我所尝试的(我从Mysql读取数据是由一个定制的web api处理的) 我的日期时间值是这样进来的比较mysql中的两个时间戳,mysql,vb.net,timestamp,Mysql,Vb.net,Timestamp,我从mysql中检索了两个datetime变量。 一个等于“now()”,另一个表示上一次更改行的时间 我需要比较这两个datetime值以获得两者之间的差异 这就是我所尝试的(我从Mysql读取数据是由一个定制的web api处理的) 我的日期时间值是这样进来的 18/01/2016 10:53:00 18/01/2016 10:52:52 并且不会引发错误/异常,但不管差异如何,“timedifference”仅为1 我怀疑这与datetime的格式不是VB想要的有关,但我找不到任何东
18/01/2016 10:53:00
18/01/2016 10:52:52
并且不会引发错误/异常,但不管差异如何,“timedifference”仅为1
我怀疑这与datetime的格式不是VB想要的有关,但我找不到任何东西可以将mysql转换为VB datetimes,反之亦然
任何方向都会被告知!提前谢谢 相反,尝试减去两个日期时间值,如下所示,这将返回一个
时间戳
值。顺便说一句,您当前的日期时间格式是dd/mm/yyyy
,我认为应该是mm/dd/yyyy
Dim timedifference As TimeStamp = nowtime - thishostlastpoll
我怀疑这与datetime的格式不是VB想要的有关,但我找不到任何东西可以将mysql转换为VB datetime,反之亦然。
你可能会对一两件事感到困惑
首先,日期没有格式。格式是计算机(或您编写的计算机代码)向用户显示日期的方式。净(不是VB本身)DateTime
是一个值,表示存储为非常大的数字的时间点。由于对我们大多数人来说,635886720000000000
(今天的日期)没有什么意义,因此DateTime
类型以常规格式表示
MySql
数据提供程序对象完全能够将数据从NetDateTime
值来回转换为,但是MySql需要根据列定义存储数据
真正的问题可能在这里:
Dim timedifference As Integer=DateTime.Compare(nowtime,thishostlastpoll)
给定变量名称和显示方式,您可能会对DateTime.Compare
的作用感到困惑。发件人:
比较DateTime的两个实例并返回一个整数,该整数指示第一个实例是早于第二个实例、与第二个实例相同还是晚于第二个实例
给定定义为TIMESTAMP(3)
并读入NETDateTime
vars的两个MySql列:
Console.WriteLine(“A是{0}”,dtA)
WriteLine(“B是{0}”,dtB)
Write(“因此比较是{0}”,DateTime.Compare(dtA,dtB))
选择案例日期时间。比较(dtA、dtB)
病例<0'即-1
Console.WriteLine(“dtA更早”)
大小写>0
Console.WriteLine(“dtB更早”)
案例0
Console.WriteLine(“dtA和dtB完全相等”)
结束选择
结果:
A:2016年1月18日上午8:39:51B是2016年1月18日上午8:40:11
比较为-1,因此dtA更早
关于
DateTime.Compare
有一点让人困惑的是,结果指示较早/较小的值,而大多数其他Compare
方法指示较大的值。我明白了……类型为“System.TimeSpan”的错误6值无法转换为“Date”。“我如何更改从中接收到的格式?”mysql?此外,我还使用了“datetime”和“date”,因为使用“timestamp”会给我“Type”时间戳没有定义“它不是”格式“日期没有格式。一旦您将这两个值放入DateTime变量中,它们就是Net DateTime变量,如果Net不喜欢它们的某些方面,您将得到一个错误。如果我比较这两个值,效果很好。你能告诉我们DBreadsql中使用的数据类型是对处理所有数据库交互的PHPAPI的http调用吗。我想我会使用滴答计数器,而不是比较实际时间,然后一起否定这个问题:)你有多准确。。。。我留下的“1”实际上是正确的,我误解了函数。谢谢你指出这一点。我有另一种方法来实现我需要的,现在正在实施。
Dim timedifference As TimeStamp = nowtime - thishostlastpoll