vb.net 中有关自动计划的日期时间问题
本文关键字:计划 日期 时间 问题 net vb | 更新日期: 2023-09-27 18:35:13
我有一个程序可以检查我的作业对象的日期和时间部分。如果这些匹配,则触发特定作业。
If jb.ScheduledStartTime.Value.ToString("MM/dd/yyyy mm") =
Now().ToString("MM/dd/yyyy mm") Then
'Do some work here.
End If
问题:如果我在一天中以不同的时间间隔安排不同的工作,那么它们就可以正常工作。我的意思是它们被触发,在上面的代码中,当它与当前格式匹配时,它们会进入循环。
但是,当日期在 12:00 更改时,它不起作用。 即使我将开始时间设置为在早上 9:00 AM 触发,它也恰好在上午 12:00 进入循环,这使我的逻辑无效,让我感到困惑。
为什么会这样? 我的日期和时间检查逻辑在这里不正确吗? 有没有更好的方法?
我在这里不检查确切的秒数,我只检查分钟部分。
您是否正在检查当天的变化等?触发后,您的计划开始时间是否正确更改。
顺便说一句,不要将时间与字符串进行比较。这很痛苦,你会受伤。使用TimeSpan
你可以得到事情有多长。
If datetime.now > jb.ScheduledStartTime then
'Do Some work.
end if
如果您需要较小的支票
dim myDateCheck as Datetime = datetime.now
myDateCheck = myDateCheck.AddSeconds(-myDateCheck.Second)
if myDateCheck > jb.ScheduledStartTime then
'Do Some work
end if
还要检查日期的小时部分(HH),您的格式应该是"MM/dd/yyyy HH:mm"
试试这个
If jb.ScheduledStartTime.Value.ToString("MM/dd/yyyy HH:mm") =
Now().ToString("MM/dd/yyyy HH:mm") Then
'Do some work here.
End If