我正在使用Visual Basics 2010在Windows-7上编写应用程序。我正在使用
访问系统日期Dim today As Integer
today = Format(Now, "dd")
嗯,这很好用。但是当系统日期改变时我需要一些指示/通知,以便我可以检索新的日期。是否有任何功能/方法来实现这一目标? 感谢
答案 0 :(得分:4)
系统日期可能会因以下两个原因而改变:
用户手动更改了系统日期/时间。可以使用此处描述的方法检测到此问题:http://vbnet.mvps.org/index.html?code/subclass/datetime.htm
时间过去了,时钟从23:59:59到00:00:00。我不知道发生这种情况时会告诉你的任何系统事件,但你可以通过在VB6中使用Timer来轻松检测到它。通过使用计时器,您将以预定义的间隔获得事件。如果日期已经改变,你可以检查一下,如果日期已经改变了 要使用标准VB6 Timer控件,您需要一个表格,您可以在其上放置您的Timer,但还有其他选择,例如:http://www.codeproject.com/KB/vb-interop/TimerLib.aspx
我的代码示例使用表单上的标准VB6 Timer来监视“分钟更改”。我的Timer控件的原始名称为Timer1
Dim iMinute As Integer 'The "current" minute
Private Sub Form_Load()
'Initialize
iMinute = Format(Now, "n") 'Get the current time as minute
Timer1.Interval = 1000 'Set interval = 1000 milliseconds
Timer1.Enabled = True 'Start Timer1 (my Timer)
End Sub
Private Sub Timer1_Timer()
'This happens when the given Interval has passed (in this case, every second)
Dim iMinuteNow As Integer
iMinuteNow = Format(Now, "n")
If iMinuteNow <> iMinute Then
MsgBox "You are now in a new minute"
iMinute = iMinuteNow
End If
End Sub