我正在编写一个VB控制台程序,它将在一天的特定时间运行一个函数。这就是我到目前为止所做的。
Sub Main()
Do
Dim backupTime As String
backupTime = My.Settings.backupTime
While TimeOfDay = backupTime
Threading.Thread.Sleep(2000)
End While
backup()
loop
End Sub
" backupTime"被引用的内容存储在App.Config文件中
<userSettings>
<ZipAJob_Timed.My.MySettings>
<setting name="backupTime" serializeAs="String">
<value>#01:59:00 PM#</value>
</setting>
</ZipAJob_Timed.My.MySettings>
</userSettings>
问题在于&#34; Do While&#34;循环检查每2秒钟为#34; TimeofDay&#34;匹配&#34; backupTime&#34;。但这可能导致程序无法运行,因为它错过了2秒的比赛。所以要么我需要忽略秒,要么让TimeofDay.minutes / hours和backupTime.minutes / hours匹配。
我已经研究过Parsing ..但不确定我应该从哪里开始。
答案 0 :(得分:2)
为什么不简单地使用<
代替=
?
While TimeOfDay < backupTime
Threading.Thread.Sleep(2000)
End While
但是我会使用在给定时间开始的Timer或Windows-Task而不是循环。