MsgBox now()
MsgBox now() - '2012-11-6 19:23:04' 得到110.581874999996 这个数字是什么意思? 是分还是秒? 怎么才能判断? 如果是分或者秒? 怎么才能转换成容易识别的?
参考这是在VB里写的
[解决办法]
得到的是天,
你可以了解一下TimeSpan
[解决办法]
VB中字符串转换为时间不是CDate吗
[解决办法]
Module Module1
Sub Main()
Dim d1 As DateTime
Dim d2 As DateTime
d1 = Date.Now
d2 = CDate("2012-11-6 19:23:04")
Dim x As Double
x = d1.Subtract(d2).TotalMinutes
End Sub
End Module
[解决办法]
Module Module1
Sub Main()
Dim d1 As DateTime
Dim d2 As DateTime
Dim datestr As String = New String("2012-11-6 19:23:04")
d1 = Date.Now
d2 = CDate(datestr)
Dim x As Double
x = d1.Subtract(d2).TotalMinutes
If (Now().Subtract(CDate(datestr)).TotalMinutes > 30) Then
MsgBox("大于")
End If
End Sub
End Module
[解决办法]
我那么些没报错啊,你自己新建一个项目再试试
[解决办法]
可以使用timespan得到时间差数值。
http://msdn.microsoft.com/zh-cn/library/system.timespan.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
http://www.blogjava.net/AndyZhang/archive/2012/05/02/377157.html
[解决办法]
在Main方法里写这段代码
Dim d1 As DateTime
Dim d2 As DateTime
Dim datestr As String = New String("2012-11-6 19:23:04")
d1 = Date.Now
d2 = CDate(datestr)
Dim x As Double
x = d1.Subtract(d2).TotalMinutes
If (Now().Subtract(CDate(datestr)).TotalMinutes > 30) Then
MsgBox("大于")
End If
[解决办法]
MsgBox now() - #2012-11-6 19:23:04# '110.687037037038
MsgBox day(now()) - day(#2012-11-6 19:23:04#) '19
[解决办法]
MsgBox now() - Cdate("2012-11-6 19:23:04")
这样就可以呀,这个可读性已经很好了,关键是你的需求是什么?要得到怎么样的格式?
就表示1天,110了,就是110多天,0.58几了,就是超过12小时了,小数乘24就可以当作小时来看,再乘60就是分,再乘60就是秒
110.581874999996 ==》110天
.581874999996 ×24=13.964999999904 ==》13小时
.964999999904 ×60=57.89999999424 ==》57分
.89999999424 ×60= 53.9999996544 ==》53秒
[解决办法]
除就可以了呀,30分钟就是 30/60=0.5小时
now() - CDate(tmp1.Value) > 30 / 60 / 24
[解决办法]
就是110.581874999996 这个值怎么换算成分钟?
换算成分钟是乘
110.581874999996 × 24 × 60
[解决办法]
换算成天就是了啊,天、小时、分、秒换算
难道没学过数学???
[解决办法]
我上面的方法已经很明确了
[解决办法]
应该是以天为单位的时间序数。整数部分是天,小数部分是多出的小时、分、秒。
把小数部分乘以24,得到的整数是小时,剩余部分再乘以60是分钟,再剩余的乘以60是秒,再剩余的乘以1000是毫秒。