문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
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, 크론}} | ||