0

我正在编写一个 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>

问题是“Do While”循环每 2 秒检查一次“TimeofDay”是否匹配“backupTime”。但这可能导致程序无法运行,因为它错过了 2 秒的比赛。所以要么我需要让它忽略秒数,要么只让 TimeofDay.minutes/hours 和 backupTime.minutes/hours 匹配。

我已经研究过 Parsing ..但不完全确定我应该从哪里开始。

4

1 回答 1

2

你为什么不简单地使用<而不是=

While TimeOfDay < backupTime
    Threading.Thread.Sleep(2000)
End While

但是我不会使用循环,而是使用在给定时间启动的计时器或 Windows 任务。

于 2013-02-22T19:45:16.240 回答