「*」表示所有的值,「?」表示不限制這個值,看起來沒有什麼區別,都是表示任意值的意思,但是針對日期和星期來說,用處就大了。比如說每週一12點執行任務,那麼日期就不能用「*」,因為*是表示所有的日期,從1號到月末。這裡就該用「?」,故「0 0 12 ? * mon」。同理,如果要在每個月的一號中午12點來執行任務的話,星期那裡就不能用「*」了,故「 0 0 12 1 * ?」。
另外附上時間規則
"0 0 12 * * ?" 每天中午
12點觸發
"0 15 10 ? * *"
每天上午
10:15
觸發"0 15 10 * * ?"
每天上午
10:15
觸發"0 15 10 * * ? *"
每天上午
10:15
觸發"0 15 10 * * ? 2005" 2005
年的每天上午
10:15
觸發"0 * 14 * * ?"
在每天下午
2點到下午
2:59
期間的每
1分鐘觸發
"0 0/5 14 * * ?"
在每天下午
2點到下午
2:55
期間的每
5分鐘觸發
"0 0/5 14,18 * * ?"
在每天下午2點到
2:55
期間和下午6點到
6:55
期間的每
5分鐘觸發
"0 0-5 14 * * ?"
在每天下午
2點到下午
2:05
期間的每
1分鐘觸發
"0 10,44 14 ? 3 wed"
每年三月的星期三的下午
2:10
和2:44
觸發"0 15 10 ? * mon-fri"
周一至周五的上午
10:15
觸發"0 15 10 15 * ?"
每月15
日上午10:15
觸發"0 15 10 l * ?"
每月最後一日的上午
10:15
觸發"0 15 10 ? * 6l"
每月的最後乙個星期五上午
10:15
觸發"0 15 10 ? * 6l 2002-2005" 2002
年至2005
年的每月的最後乙個星期五上午
10:15
觸發"0 15 10 ? * 6#3"
每月的第三個星期五上午
10:15
觸發
關於定時器
定時器是個很有意思的東西,它很有用,但我認為這不是現代計算機的結構所擅長的事情。計算機適合做那些很大量的簡單重複工作,或者根據請求做出回應。dos時代是沒有程序執行緒等概念的,那時候要想做到定時真是有些麻煩 通常的做法是死迴圈不斷監測時間,發現時間到了就做特定的事情 當然你可以用delay,來指定等...
關於定時器
今天突然想到乙個問題,如果要設定乙個5分鐘的定時器,那麼時間使用5 minute和5 60 second有什麼區別呢?或者說,設定成後者,程式會不會更累呢,會不會每秒鐘都去檢查下是不是到期了?於是去翻了一下golang原始碼中time的newtimer部分,如下 原來人家這兒用的是duration,...
關於didadida 定時器
在學習 定時器 之前,我們先來清楚的了解定時器的應用需求,或者場合。當需要在一段規定的時間內完成某些操作時,就需要有乙個精準的定時工具來提醒你更好的去完成。我自己理解的是 定時 是,在規定好的時間一旦到了,就自動 醒來 一次,當然,可以給這個過程啟動乙個執行緒。我覺得他更多起到的是乙個 提醒 的作用...