Spring中Quartz的Cron表达式详解


    <table style="" border="1" cellspacing="1" cellpadding="0"><tbody>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">时间域名</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">允许的特殊字符</span>
</td>
</tr>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">秒</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133" valign="top">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">, - * /</span>
</td>
</tr>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">分钟</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133" valign="top">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">, - * /</span>
</td>
</tr>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">小时</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133" valign="top">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">, - * /</span>
</td>
</tr>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">日期</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133" valign="top">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">, - * ? / L W C </span>
</td>
</tr>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">月份</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133" valign="top">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">, - * /</span>
</td>
</tr>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">星期</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133" valign="top">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">, - * ? / L C #</span>
</td>
</tr>
<tr>
<td style="width: 40.5pt; padding: 0.75pt;" width="54" valign="top">

</td>
<td style="width: 61.5pt; padding: 0.75pt;" width="82" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">年</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">(</span><span style="">可选</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">)</span>
</td>
<td style="width: 99.75pt; padding: 0.75pt;" width="133" valign="top">

</td>
<td style="width: 217.5pt; padding: 0.75pt;" width="290" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">, - * /</span>
</td>
</tr>
</tbody></table>

<p style="text-align: left; line-height: 150%;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">●</span><span style="">星号</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">(*)</span><span style="">:可用在所有字段中,表示对应时间域的每一个时刻,例如,</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">*</span><span style="">在分钟字段时,表示</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">“</span><span style="">每分钟</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">”</span><span style="">;</span>

<p style="text-align: left; line-height: 150%;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">●</span><span style="">减号</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">(-)</span><span style="">:表达一个范围,如在小时字段中使用</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">“10-12”</span><span style="">,则表示从</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10</span><span style="">到</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">12</span><span style="">点,即</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10,11,12</span><span style="">;</span>

<p style="text-align: left; line-height: 150%;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">●</span><span style="">斜杠</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">(/)</span><span style="">:</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">x/y</span><span style="">表达一个等步长序列,</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">x</span><span style="">为起始值,</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">y</span><span style="">为增量步长值。如在分钟字段中使用</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">0/15</span><span style="">,则表示为</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">0,15,30</span><span style="">和</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">45</span><span style="">秒,而</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">5/15</span><span style="">在分钟字段中表示</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">5,20,35,50</span><span style="">,你也可以使用</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">*/y</span><span style="">,它等同于</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">0/y</span><span style="">;</span>

<p style="text-align: left; line-height: 150%;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">●W</span><span style="">:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。例如</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15W</span><span style="">表示离该月</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">号最近的工作日,如果该月</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">号是星期六,则匹配</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14</span><span style="">号星期五;如果</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">日是星期日,则匹配</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">16</span><span style="">号星期一;如果</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">号是星期二,那结果就是</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">号星期二。但必须注意关联的匹配日期不能够跨月,如你指定</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">1W</span><span style="">,如果</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">1</span><span style="">号是星期六,结果匹配的是</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">3</span><span style="">号星期一,而非上个月最后的那天。</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">W</span><span style="">字符串只能指定单一日期,而不能指定日期范围;</span>

<p style="text-align: left; line-height: 150%;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">●</span><span style="">井号</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">(#)</span><span style="">:该字符只能在星期字段中使用,表示当月某个工作日。如</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">6#3</span><span style="">表示当月的第三个星期五</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">(6</span><span style="">表示星期五,</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">#3</span><span style="">表示当前的第三个</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">)</span><span style="">,而</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">4#5</span><span style="">表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发;</span>

<p style="text-align: left; line-height: 150%;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">Cron</span><span style="">表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏感。</span>

<p style="text-align: left; line-height: 150%;" align="left"><a name="_Ref161591953"><span style="">表</span></a><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">2 Cron</span><span style="">表示式示例</span>
<table style="" border="1" cellspacing="1" cellpadding="0"><tbody>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">说明</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">12</span><span style="">点运行</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">运行</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">运行</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">运行</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">在</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">2008</span><span style="">年的每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10</span><span style="">:</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">运行</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14</span><span style="">点到</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">点之间每分钟运行一次,开始于</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:00</span><span style="">,结束于</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:59</span><span style="">。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14</span><span style="">点到</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">点每</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">5</span><span style="">分钟运行一次,开始于</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:00</span><span style="">,结束于</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:55</span><span style="">。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14</span><span style="">点到</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">点每</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">5</span><span style="">分钟运行一次,此外每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">18</span><span style="">点到</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">19</span><span style="">点每</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">5</span><span style="">钟也运行一次。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:00</span><span style="">点到</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:05</span><span style="">,每分钟运行一次。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">3</span><span style="">月每周三的</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:10</span><span style="">分到</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">14:44</span><span style="">,每分钟运行一次。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每周一,二,三,四,五的</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">分运行。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每月</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">15</span><span style="">日</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">分运行。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每月最后一天</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">分运行。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每月最后一个星期五</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">分运行。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">在</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">2007,2008,2009</span><span style="">年每个月的最后一个星期五的</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">分运行。</span>
</td>
</tr>
<tr>
<td style="width: 176.25pt; padding: 0.75pt;" width="235" valign="top">

</td>
<td style="width: 243pt; padding: 0.75pt;" width="324" valign="top">
<p style="text-align: left; line-height: 150%; margin: 0cm 6pt 0pt;" align="left"><span style="">每月第三个星期五的</span><span style="line-height: 150%; font-family: 'Courier New'; color: black; font-size: 10pt;">10:15</span><span style="">分运行。</span>
</td>
</tr>
</tbody></table>
 

猜你喜欢

转载自ttsiangogole.iteye.com/blog/1290179
今日推荐