关于java Quartz定时器*和?的区别

来源:互联网 发布:尔雅网络课大学语文 编辑:程序博客网 时间:2024/05/21 14:10

“*”表示所有的值,“?”表示不限制这个值,看起来没有什么区别,都是表示任意值的意思,但是针对日期和星期来说,用处就大了。比如说每周一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:102: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触发 

0 0
原创粉丝点击