MsgBox now()MsgBox now() - 2012-11-6 19:23:04 得到110.581874999996 这个数字是什么意思? 是分还是秒
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[解决办法] 引用: If (now().Subtract(CDate(tmp1.Value)).TotalMinutes > 30) Then 这里tmp1.Value是2012-11-6 19:23:04 跟上面您写的不一样吗?我不知道该怎么改? 我那么些没报错啊,你自己新建一个项目再试试
[解决办法] 可以使用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
[解决办法] 引用: 新建一个bb.vbs,然后写如下内容,提示语句未结束 Module Module1 Sub Main() Dim d1 As DateTime Dim d2 As DateTime Dim datestr As String = New String("2012-11-6 19:23:04") …… 在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
[解决办法] 引用: 打印MsgBox now() - CDate(tmp1.Value)的结果是110.581874999996 类似这样的值 但我想要判断的是如果现在的时间大于tmp1.Value这个时间 30分钟的话,就执行Then下面的语句 问题是我怎么才能判断 now() - CDate(tmp1.Value)这个值是多少分钟? 就是110.581874999996 这个值怎么换算成分钟? 换算成天就是了啊,天、小时、分、秒换算
难道没学过数学???
[解决办法] 我上面的方法已经很明确了
[解决办法] 应该是以天为单位的时间序数。整数部分是天,小数部分是多出的小时、分、秒。
把小数部分乘以24,得到的整数是小时,剩余部分再乘以60是分钟,再剩余的乘以60是秒,再剩余的乘以1000是毫秒。