一般来说cron我们可以通过使用“0 15 9 5 *?2011”来找到每个月的第5天这个表达式,但是为了找到第5个工作日我该如何继续,我想我们首先需要创建假期列表然后我们需要根据它编写条件,所以任何人都可以告诉我,如果我正确的轨道或任何其他方式请让我知道使用Java代码。
您好我想使用Java生成每个月的第5个工作日,如上面的表达式,即每个月的第5天
答案 0 :(得分:0)
例如在Java中,这将在2011年每个月的第5天上午9:15生成Date
:
for (int i = 0; i < 12; i++) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 15);
cal.set(Calendar.HOUR_OF_DAY, 9);
cal.set(Calendar.DAY_OF_MONTH, 5);
cal.set(Calendar.MONTH, i);
cal.set(Calendar.YEAR, 2011);
Date date = cal.getTime();
System.out.println(date);
}
这是输出:
Wed Jan 05 09:15:00 PST 2011
Sat Feb 05 09:15:00 PST 2011
Sat Mar 05 09:15:00 PST 2011
Tue Apr 05 09:15:00 PDT 2011
Thu May 05 09:15:00 PDT 2011
Sun Jun 05 09:15:00 PDT 2011
Tue Jul 05 09:15:00 PDT 2011
Fri Aug 05 09:15:00 PDT 2011
Mon Sep 05 09:15:00 PDT 2011
Wed Oct 05 09:15:00 PDT 2011
Sat Nov 05 09:15:00 PDT 2011
Mon Dec 05 09:15:00 PST 2011
您可能需要查看Java的Quartz Scheduler库。它支持用于在Java中触发作业的cron表达式。