不知道如何在特定时间 运行 一个函数
Don't know how to run a Function at a specific time
我试图了解更多,但遗憾的是我无法理解它如何与 Windows 任务计划程序一起工作,所以我尝试了一些简单的方法,但它仍然不起作用。
我希望此功能每天 运行 除了周末。
这是我的代码:
Sub automaticworkdayinsert()
If Timer4.Interval = 7200000 Then
Dim time As Date = Date.Now
Dim currhour As Integer
Dim currminute As Integer
Dim ReportHour As Integer
Dim ReportMinute As Integer
currhour = time.Hour
currminute = time.Minute
ReportHour = 15
ReportMinute = 10
If currhour = ReportHour AndAlso currminute = ReportMinute Then
insertAndcheckWorkday(False)
End If
End If
End Sub
很难通过代码中包含的内容来判断(您可能还应该将代码包含在 insertAndcheckWorkday
函数中),但就以下而言:
And i am not sure why but i want the hour to be 03 but vs turn it automatically at 3.
看看:
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
在您的情况下,您可能想要使用 hh
(12 小时格式)或 HH
(24 小时格式)。
此外,为了比较 dates/times,框架中已经内置了一个方便的函数:
https://docs.microsoft.com/en-us/dotnet/api/system.datetime.compare?view=netcore-3.1
最后,这并没有回答你的问题,但我的强迫症 :p 只是想帮助你一点:
Sub automaticworkdayinsert()
If Timer4.Interval = 7200000 Then
Dim time As Date = Date.Now
Dim currhour As Integer = time.Hour
Dim currminute As Integer = time.Minute
Dim ReportHour As Integer = 15
Dim ReportMinute As Integer = 10
If currhour = ReportHour AndAlso currminute = ReportMinute Then insertAndcheckWorkday(False)
End If
End Sub
以上更改将使代码在长 运行 中更易于阅读,并立即使用特定值初始化变量(可以说,因为整数已经初始化为 0,所以可能有点像没有实际意义,但通常被认为是良好的编码实践)。此外,如果您在 if
之后只发生了 1 件事,您也可以将其放在一行中。同样,以后阅读起来更容易。
我试图了解更多,但遗憾的是我无法理解它如何与 Windows 任务计划程序一起工作,所以我尝试了一些简单的方法,但它仍然不起作用。
我希望此功能每天 运行 除了周末。
这是我的代码:
Sub automaticworkdayinsert()
If Timer4.Interval = 7200000 Then
Dim time As Date = Date.Now
Dim currhour As Integer
Dim currminute As Integer
Dim ReportHour As Integer
Dim ReportMinute As Integer
currhour = time.Hour
currminute = time.Minute
ReportHour = 15
ReportMinute = 10
If currhour = ReportHour AndAlso currminute = ReportMinute Then
insertAndcheckWorkday(False)
End If
End If
End Sub
很难通过代码中包含的内容来判断(您可能还应该将代码包含在 insertAndcheckWorkday
函数中),但就以下而言:
And i am not sure why but i want the hour to be 03 but vs turn it automatically at 3.
看看:
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
在您的情况下,您可能想要使用 hh
(12 小时格式)或 HH
(24 小时格式)。
此外,为了比较 dates/times,框架中已经内置了一个方便的函数:
https://docs.microsoft.com/en-us/dotnet/api/system.datetime.compare?view=netcore-3.1
最后,这并没有回答你的问题,但我的强迫症 :p 只是想帮助你一点:
Sub automaticworkdayinsert()
If Timer4.Interval = 7200000 Then
Dim time As Date = Date.Now
Dim currhour As Integer = time.Hour
Dim currminute As Integer = time.Minute
Dim ReportHour As Integer = 15
Dim ReportMinute As Integer = 10
If currhour = ReportHour AndAlso currminute = ReportMinute Then insertAndcheckWorkday(False)
End If
End Sub
以上更改将使代码在长 运行 中更易于阅读,并立即使用特定值初始化变量(可以说,因为整数已经初始化为 0,所以可能有点像没有实际意义,但通常被认为是良好的编码实践)。此外,如果您在 if
之后只发生了 1 件事,您也可以将其放在一行中。同样,以后阅读起来更容易。