날짜와 시간

Quartz 크론 생성기 · 달력 조건을 실행 날짜로 확인

Java Quartz 표현식을 해석하고 초, 선택 연도, 상대 날짜 조건에 맞는 시각을 계산합니다.

Quartz 크론 생성기

표현식

입력은 이 브라우저에서 처리되며 서버로 전송되지 않습니다.

필드 설명과 일치 날짜

옵션

초를 포함한 ISO 날짜·시간을 입력하세요. 시간대가 없으면 선택한 IANA 지역을 사용하며 중복·누락 시각에는 Z나 오프셋이 필요합니다. 현지 시작 연도: 1970–2099.

서머타임에 없는 시각은 건너뛰고 중복 시각은 나중 오프셋을 쓰되 현지 필드를 시작 이전으로 되돌리지 않습니다. 브라우저와 JVM의 시간대 자료·설정은 다를 수 있습니다.

최대 512 UTF-16 단위, 1–1,000개 날짜, 현지 달력 기준 10년 및 2099년까지입니다. 계산은 5초 후 중단합니다.

필드 구성

필드 편집은 미리 보고 적용할 때까지 원문을 바꾸지 않습니다.

0 0 9 ? * MON-FRI

초·분 0–59, 시 0–23, 일 1–31, 월 1–12, 요일 1=일요일–7=토요일, 연도 1970–2099(빈칸은 생략). 일과 요일 중 하나만 ?로 지정합니다.

Java Quartz 2.3.2 일반 문법: 목록, 범위, 숫자 간격, ?, L, L-n, LW, nW, nL, n#k. 특수 선택자는 단독 사용. 이름 간격, 혼합 범위, L-nW는 제외합니다.

입력 또는 옵션이 변경되었습니다. 결과를 갱신한 뒤 내보내세요.

Quartz 크론 생성기는 매월 마지막 평일이나 세 번째 금요일처럼 날짜에 따라 달라지는 조건을 확인할 때 유용합니다. 익숙한 다섯 필드 앞에 0을 붙이는 것만으로는 요일 번호나 날짜 조건까지 맞출 수 없습니다. 실제 날짜를 보고 트리거에 적용하세요.

기존 cron 표현식을 필드로 읽어 오거나 크론 표현식 생성기에서 초부터 연도까지 초안을 만들 수 있습니다. 구문이 맞더라도 검색 기간 안에 원하는 횟수가 나오지는 않을 수 있습니다. 기준 시각을 고정하고 다음 실행 시각의 개수와 시간대를 함께 확인하는 방식입니다.

Quartz 크론 생성기를 사용하는 이유

날짜와 요일의 충돌을 숨기지 않음

Quartz 크론 생성기는 일과 요일 중 정확히 하나에 ?를 요구합니다. 두 필드를 모두 지정하면 어느 조건을 지울지 임의로 결정하지 않고 오류를 표시합니다. 초안에서 조건을 고친 뒤 변경 내용을 확인하고 적용할 수 있습니다.

하나의 입력에서 일과 요일 조건으로 분기하며 한 경로만 선택된 그림.

월말과 마지막 평일을 구분

L은 달력의 마지막 날짜이고 LW는 월 안의 마지막 월요일부터 금요일입니다. 월말이 일요일이면 LW는 앞선 금요일을 가리킵니다. 마감 작업이 주말에도 실행되어야 하는지 실제 달력의 두 날짜로 비교할 수 있습니다.

같은 달력에서 월말 일요일과 직전 금요일을 각각 표시하고 주말 열을 음영 처리한 그림.

초안과 검색 기준을 분리해서 확인

01

원본을 필드로 불러오기

필드로 읽기는 현재 표현식을 초안으로 해석하며 원본을 덮어쓰지 않습니다. 템플릿도 초안만 바꿉니다. 연도를 비우면 6개 필드, 입력하면 7개 필드를 만듭니다. 적용 전 변경 개수와 글자 수를 확인하고, 한 번의 실행 취소로 입력과 결과를 함께 복원하세요.

02

시작 시각을 분명하게 정하기

처음에는 UTC 기준 2026년 1월 1일을 사용합니다. 현재 시각은 새 시작값을 미리 본 뒤 적용합니다. 초가 있는 ISO 날짜·시간을 입력하세요. 시간대 표시가 없으면 선택한 IANA 시간대를 따르며, 중복되거나 없는 현지 시각에는 Z 또는 명시적 오프셋이 필요합니다.

03

일치 개수가 충분한지 확인하기

처음 50개를 표시하고 50개씩 추가로 볼 수 있습니다. 복사는 전체 보고서, 다운로드는 JSON을 제공합니다. 자동 계산은 350ms 뒤 실행되며 끄면 분석 버튼이나 Ctrl/Cmd + Enter를 사용할 수 있습니다. 입력이나 설정이 바뀌면 재계산 전까지 이전 결과의 내보내기가 비활성화됩니다.

각 날짜가 선택되는 조건을 읽기

초부터 시작하는 여섯 필드

필수 순서는 초, 분, 시, 일, 월, 요일입니다. 마지막 연도만 선택 사항이므로 여섯 필드에서도 초를 생략할 수 없습니다. 정규화한 표현식은 연도를 명시했는지 유지하고, 필드별 설명은 어떤 값이 어디에 배치됐는지 보여 줍니다.

달력에 맞춘 상대 날짜 계산

L-n은 월말에서 n일 전, nW는 같은 달에서 해당 일에 가장 가까운 평일입니다. nL은 마지막 해당 요일이고 n#k는 k번째 해당 요일입니다. FRI#3과 6L은 모두 금요일이지만 같은 주를 뜻하지는 않습니다.

자정을 넘는 범위와 필드별 간격

시의 22-2는 자정을 넘고 월의 NOV-FEB는 연말을 넘습니다. 분의 5/15는 5, 20, 35, 50분을 선택한 후 다음 시간에서 다시 시작합니다. 기준 시각부터 일정한 경과 시간을 계속 더하는 지정은 아닙니다. 연도 범위는 오름차순만 허용합니다.

현지 시간과 UTC를 함께 출력

결과에는 현지 날짜·시간, UTC 오프셋, UTC 시각이 함께 들어갑니다. 검색 시작과 끝도 기록하므로 서버의 결과와 비교할 때 계산 조건을 확인할 수 있습니다. 드문 일정은 요청 횟수와 실제 찾은 횟수를 따로 표시합니다.

지원 문법과 계산 범위

Java Quartz 2.3.2의 일반적인 문법
한 줄, 6개 또는 7개 필드, 최대 512 UTF-16 단위를 받습니다. Spring, Quartz.NET, AWS, Jenkins 간 변환기는 아닙니다. 초·분은 0–59, 시는 0–23, 월은 1–12입니다. 요일은 1이 일요일, 7이 토요일이며 일과 요일 중 하나만 ?여야 합니다.
특수 날짜 선택자는 단독 사용
일에는 L, L-1부터 L-30, LW, 1W부터 31W를 지원합니다. 요일의 단독 L은 토요일, nL은 마지막 요일, n#1부터 n#5는 등장 순서입니다. 특수 선택자의 목록, 여러 # 항목, L-nW는 거부합니다. 복합 조건은 별도 트리거로 나누어 검토해야 합니다.
이름과 숫자 간격을 구별
JAN–DEC와 SUN–SAT는 대소문자를 구별하지 않습니다. 범위의 양끝은 둘 다 숫자이거나 둘 다 이름이어야 합니다. JAN-MAR/2처럼 이름이 있는 간격이나 이름·숫자 혼합 범위는 허용하지 않습니다. 숫자 간격 또는 명시적인 목록을 사용하세요.
없는 날짜는 건너뛰기
31일, 31W, 다섯 번째 요일이 없는 달은 다른 날짜로 옮기지 않습니다. W는 월요일부터 금요일이며 공휴일은 제외하지 않습니다. 연도와 현지 시작 연도는 1970–2099, 검색은 이후 현지 달력 기준 10년 이내, 최대 1,000회이며 계산은 5초에 중단합니다.
실제 작업 실행 정책은 별개
서머타임으로 없는 시각은 건너뜁니다. 중복 시각은 보통 나중 오프셋을 쓰지만 현지 필드를 시작 시각 앞으로 되돌리지는 않습니다. 브라우저와 JVM의 시간대 자료는 다를 수 있습니다. 휴일 캘린더, misfire, 재시도, 동시 실행과 작업 수행은 모의 실행하지 않습니다.

Quartz 크론 생성기 자주 묻는 질문

Quartz에서는 초 필드를 생략해도 되나요?

Java Quartz의 초 필드는 필수입니다. 초를 없앤 다섯 필드 형식은 이 페이지에서 거부됩니다. 매분 정각은 0 * * * * ?처럼 입력하세요. 마지막 연도 필드만 생략할 수 있으며, 다른 크론 서비스의 설명을 그대로 적용하면 필드 위치가 달라질 수 있습니다.

분 필드의 */5는 무슨 뜻인가요?

매시간 0, 5, 10부터 55분까지 선택한다는 뜻입니다. 초를 0으로 두면 0 */5 * * * ?입니다. 분을 5/15로 바꾸면 5, 20, 35, 50분이 됩니다. 간격은 각 필드 안에서 반복되므로 실행 사이 경과 시간이 항상 일정하다고 가정하지 마세요.

요일 필드에는 언제 ?를 넣나요?

일 필드를 지정할 때 요일을 ?로 둡니다. 매일 9시는 0 0 9 * * ?, 매월 1일 9시는 0 0 9 1 * ?입니다. 반대로 평일처럼 요일로 결정하려면 일 필드가 ?여야 합니다. 두 필드에 동시에 구체적인 조건을 넣을 수 없습니다.

매월 마지막 평일에 실행하려면 어떻게 쓰나요?

0 0 9 LW * ?는 매월 마지막 월요일부터 금요일의 9시를 선택합니다. 월말이 주말이면 금요일로 앞당깁니다. 공휴일 여부를 판단하는 업무 캘린더는 아니므로 회사의 마지막 영업일과는 다를 수 있습니다.

생성한 표현식을 바로 테스트할 수 있나요?

이 페이지에서는 지정한 시작 시각과 시간대로 일치 날짜를 계산할 수 있습니다. 실제 Quartz 작업을 등록하거나 실행하지는 않습니다. 결과를 확인한 뒤 운영 서버의 시간대와 트리거 정책을 맞추고, 그 환경에서도 실행 후보를 검증하세요.

예상과 다른 실행 시각인가요?

날짜를 확인한 표현식을 트리거에 적용

Quartz 크론 생성기에서 필드와 일치 날짜를 검토한 뒤 Java Quartz 설정으로 복사하세요. 운영 환경의 시간대와 누락 실행 처리 방식도 함께 확인할 수 있습니다.

일치 날짜는 미리보기이며 작업 실행을 보장하지 않습니다.