1. 程式人生 > 實用技巧 >cron表示式快速理解

cron表示式快速理解

網上搜索一下cron表示式,會出來很多,但是大部分也就把幾個星號放上去,配了幾個示例,還需要一番研究。不但耽誤時間,還容易理解錯誤。

其實把下面這2個問題理解一下,立馬就懂了。

1、cron表示式到底幾位

其實cron表示式一共有7位,最後1位是指定年份的,很多時候不需要指定,所以經常看到的都是6位的。

// 6位的
0 15 10 ? * MON-FRI 表示週一到週五每天上午10:15執行作業
// 7位的
0 15 10 ? * 6L 2002-2005 表示2002年至2005年的每月的最後一個星期五上午10:15觸發 

每個位的意思是固定的(可能偶爾會看到對不上的,鄙視一下不按順序寫的),按順序依次為

  1. 秒(0~59)
  2. 分鐘(0~59)
  3. 小時(0~23)
  4. 天(月)(0~31,但是你需要考慮你月的天數)
  5. 月(0~11)
  6. 天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
  7. 年份(1970-2099)

2、?啥意思

?表示不指定,而且只能用在4和6位。4和6位互斥,比如如果指定4位為*,則6為就要指定?,反之亦然。

0 15 10 ? * * 每天上午10:15觸發
0 15 10 * * ? 每天上午10:15觸發
0 15 10 * * ? * 每天上午10:15觸發

至於 - ,/這些通俗易懂的,一看就知道啥意思了,不需要多解釋了。