문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
wiki:miscellaneous:크론정리 [2022/06/30 20:03] emblim98 만듦 |
wiki:miscellaneous:크론정리 [2023/01/13 18:44] (현재) |
||
---|---|---|---|
줄 42: | 줄 42: | ||
} | } | ||
</ | </ | ||
+ | \\ | ||
+ | \\ | ||
+ | <code java> | ||
+ | @Test | ||
+ | public void 월요정기회의() throws Exception { | ||
+ | String cronEx = "0 59 23 ? * 2"; | ||
+ | int dayOffset = 2; | ||
+ | |||
+ | SimpleDateFormat dateFormat = new SimpleDateFormat(" | ||
+ | |||
+ | Calendar cal = Calendar.getInstance(); | ||
+ | cal.setTime(new Date()); | ||
+ | log.debug(" | ||
+ | //현재 일시를 cal에 셋팅 | ||
+ | // | ||
+ | |||
+ | cal.add(Calendar.DATE, | ||
+ | log.debug(" | ||
+ | // 현재 일시에 dayOffset을 더한 결과 | ||
+ | // | ||
+ | |||
+ | CronExpression cronExpression = new CronExpression(cronEx); | ||
+ | log.debug(" | ||
+ | // | ||
+ | // | ||
+ | |||
+ | Date cronDate = cronExpression.getNextValidTimeAfter(cal.getTime()); | ||
+ | log.debug(" | ||
+ | //(현재 일시+dayOffset)의 다음에 동작하는 크론 일시 표현 | ||
+ | // | ||
+ | |||
+ | String cronDateStr = dateFormat.format(cronDate); | ||
+ | log.debug(" | ||
+ | //(현재 일시+dayOffset)의 다음에 동작하는 크론 일시를 위에서 정의한 yyyyMMdd형식으로 출력 | ||
+ | // | ||
+ | |||
+ | String compareDateStr = dateFormat.format(cal.getTime()); | ||
+ | log.debug(" | ||
+ | //(현재 일시+dayoffset)를 위에서 정의한 yyyyMMdd형식으로 출력 | ||
+ | // | ||
+ | |||
+ | log.debug(" | ||
+ | // | ||
+ | |||
+ | boolean compareResult = cronDateStr.equals(compareDateStr); | ||
+ | //boolean ret = CrontabUtil.isMatchCronExpression(cronExpression, | ||
+ | assertEquals(compareResult, | ||
+ | } | ||
+ | </ | ||
+ | |||
==== Ref LInk ==== | ==== Ref LInk ==== | ||
+ | [[http:// | ||
[[https:// | [[https:// | ||
\\ | \\ | ||
{{tag> 오션, cron, 크론}} | {{tag> 오션, cron, 크론}} |