以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  每周日晚23点执行一次计划怎么写呢。。。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=97077)

--  作者:fubblyc
--  发布时间:2017/3/5 22:29:00
--  每周日晚23点执行一次计划怎么写呢。。。

我知道每天23点的计划怎么写:

static d1 As Date = Date.today.AddDays(-1)
If d1 <> Date.today AndAlso Date.Now.Hour = 20    Then
d1 = Date.today

 

计划内容。。。

 

end if

 

 

那每周日晚上23点的。。。


--  作者:wyz20130512
--  发布时间:2017/3/5 22:44:00
--  
\'那每周日晚上23点的...
Static d As Date = Date.Now()
If d.DayOfWeek = 0 And d.Hour = 23 Then
    要执行的代码
End If
[此贴子已经被作者于2017/3/5 22:44:33编辑过]

--  作者:fubblyc
--  发布时间:2017/3/5 23:04:00
--  

谢谢!!


--  作者:有点色
--  发布时间:2017/3/5 23:33:00
--  

static d1 As Date = Date.today.AddDays(-1)
If d1 <> Date.today AndAlso Date.today.DayOfWeek = 0 AndAlso Date.Now.Hour=23 Then
    d1 = Date.today

 

end if

[此贴子已经被作者于2017/3/5 23:33:18编辑过]

--  作者:天若千颖
--  发布时间:2017/3/6 8:45:00
--  
   为什么d1=Date.today要放到Then后面呢?这么写如何?

static d1 As Date = Date.today

If d1.AddDays(-1) <> d1 AndAlso d1.DayOfWeek = 0 AndAlso Date.Now.Hour=23 Then
   

计划内容

 

end if


另外,这样在计划里面就设定了计划执行的条件,那么计划的间隔怎么设置呢?


ate.Now.Hour=23只能判断当前的小时数,如果是23的话,就执行,如果时间间隔是10分钟,那么23点这个一个小时中间会不会执行6次?


如果想计划在23:30分正好执行,那么设置条件为Date.Now.Minute=23:30,那么时间间隔是不是要设置成为没30秒钟要执行一次呢?如果间隔超过1分钟,会不会正好错过这个30分钟。


如果间隔设置成30秒执行一次的话,一天执行这个判断的次数也会很多,每分钟都有2次,这样会不会影响其他代码运行的效率?



--  作者:有点色
--  发布时间:2017/3/6 9:54:00
--  
 参考4楼。执行过了不会再执行。
--  作者:天若千颖
--  发布时间:2017/3/6 10:32:00
--  
我明白这个计划的内容只会执行一次,那这个计划的代码时间间隔设置为60秒的话,岂不是也要一天不停的判断是否执行?
--  作者:有点色
--  发布时间:2017/3/6 11:15:00
--  
以下是引用天若千颖在2017/3/6 10:32:00的发言:
我明白这个计划的内容只会执行一次,那这个计划的代码时间间隔设置为60秒的话,岂不是也要一天不停的判断是否执行?

 

只有不停判断,才能知道当前的时间,这个没办法。间隔你可以弄成尽可能的大。

 

判断一下时间影响不了多少效率。