代码: Private Sub Command1_Click() Dim aa As Double Dim bb As Double Dim xtemp As Double
aa = Now Debug.Print aa xtemp = CLng(3600) * CLng(24) bb = aa + (200000 / xtemp) Debug.Print DateDiff("h", aa, bb) End Sub上面的代码是获得200000秒中包含多少小时的代码。应该不难理解。至于 DateDiff的用法可以参考MSDN
太简单了,但是秒数会大的吓人,恐怕 double也.... 一分钟=60 second 一小时=3600 second 一天=878400 second sec=秒数 day=sec\878400 hour=(sec-day*878400)\3600 min=(sec-day*878400-hour*3600)\60 second=(sec-day*878400-hour*3600*min*60) a= 5 mod 3 a 就是商了
Double不够吗?看看下面的代码: Dim x As Double Dim y As Double
x = CLng(3600) * CLng(24) * CLng(365) Debug.Print x y = 1000 ^ 100 Debug.Print y / x, y x标识的是1年的秒数,是3千多万,再看看 y/x 的结果就知道了。而1000 ^ 100 还不是Double的上限,还差很远。
看看我的解决办法: dim Miao as long dim TimeResult as Date TimeResult=DateAdd("s",Miao,"0:0:0") debut.print str(TimeResult) 是不是满足你的要求了,很巧妙的解决办法吧。
Private Sub Command1_Click()
Dim aa As Double
Dim bb As Double
Dim xtemp As Double
aa = Now
Debug.Print aa
xtemp = CLng(3600) * CLng(24)
bb = aa + (200000 / xtemp)
Debug.Print DateDiff("h", aa, bb)
End Sub上面的代码是获得200000秒中包含多少小时的代码。应该不难理解。至于
DateDiff的用法可以参考MSDN
一分钟=60 second
一小时=3600 second
一天=878400 second
sec=秒数
day=sec\878400
hour=(sec-day*878400)\3600
min=(sec-day*878400-hour*3600)\60
second=(sec-day*878400-hour*3600*min*60)
a= 5 mod 3
a 就是商了
Dim x As Double
Dim y As Double
x = CLng(3600) * CLng(24) * CLng(365)
Debug.Print x
y = 1000 ^ 100
Debug.Print y / x, y
x标识的是1年的秒数,是3千多万,再看看 y/x 的结果就知道了。而1000 ^ 100
还不是Double的上限,还差很远。
dim Miao as long
dim TimeResult as Date
TimeResult=DateAdd("s",Miao,"0:0:0")
debut.print str(TimeResult)
是不是满足你的要求了,很巧妙的解决办法吧。