让时间更精确
#If Win16 Then
Private Declare Function timeGetTime Lib _
″MMSYSTEM.DLL″ () As Long
#Else
Private Declare Function timeGetTime Lib
″winmm.dll″ _
() As Long
#End If
Function BetterNow() As Date
Static offset As Date
Static uptimeMsOld As Long
Dim uptimeMsNew As Long
′定义一秒
Const oneSecond=1/(24#*60*60)
′定义一毫秒
Const oneMs=1/(24#*60*60*1000)
uptimeMsNew=timeGetTime()
′如果是第一次调用函数或运行时间超过47天,重新计算时间。
If offset=0 Or uptimeMsNew < uptimeMsOld Then
offset=Date-uptimeMsNew*oneMs+CDbl(Timer)*_
oneSecond
uptimeMsOld=uptimeMsNew
End If
BetterNow=uptimeMsNew*oneMs+offset
End Function