Timer、Spring Quartz、Spring Task都可以用於實現定時任務,spring cron表達式可用於Quartz和Task
<1> spring cron表達式可以分為兩種:
1、6位長度的 秒 分 時 日 月 星期
2、7位長度的 秒 分 時 日 月 星期 年
一般都用的是6位長度的,因為很少碰到會區分年的定時任務
<2> 每個位置可以填充的東西:
秒: 可出現,- * / 四個字符,有效范圍為0-59的整數
分: 可出現,- * / 四個字符,有效范圍為0-59的整數
時: 可出現,- * / 四個字符,有效范圍為0-23的整數
日: 可出現,- * / ? L W C八個字符,有效范圍為0-31的整數
月: 可出現,- * / 四個字符,有效范圍為1-12的整數或JAN-DEC
星期: 可出現,- * / ? L C #四個字符,有效范圍為1-7的整數或SUN-SAT兩個范圍。1表示星期天
年: 可出現,- * / 四個字符,有效范圍為1970-2099年
<3> 字符代表的意思:
1) * 代表所有
2)?只用於日和星期,代表所有,日和星期兩個同時使用 * 會有問題,具體原因不清楚,我只是個路過的吃瓜群眾,所以我一般會日使用 * ,星期使用 ?
3) - 代表范圍
4) / 代表從什么時候開始,隔固定時間執行,前面的數字代表開始的時間,后面的數字代表間隔
5),多個數字就用,隔開
6) L 只用於日和星期,代表最后一個
7) W 只用於日,代表有效工作日,就是離當前數字最近的一個工作日
8) LW 代表某個月的最后一個星期幾
9) # 代表每個月第幾個星期幾
學習自http://www.blogjava.net/hao446tian/archive/2012/02/13/369872.html