6일부터 8일까지 쉬는 일정을 저장했는데 파일에는 종료가 9일로 적혀 있을 수 있습니다. 종일 일정은 마지막 날의 다음 날짜에서 끝내는 방식이라, 이것만으로 하루가 추가됐다고 판단하면 안 됩니다. 캘린더 화면에서 실제로 어느 날까지 표시되는지 먼저 확인하고 파일 규칙을 살펴보세요.
먼저 두 근무표에서 6·7·8일이 겹치는지 봅니다
A는 11월 5일을 첫 번째 주간으로 두고 ‘주,휴,휴,휴’를 반복합니다. B는 11월 4일을 첫 번째 주간으로 두고 ‘주,주,휴,휴,휴,주’를 반복한다고 가정했습니다. 두 표 모두 11월 5일과 9일은 근무이고 6·7·8일은 휴무입니다. 실제 사업장의 확정 근무표를 옮긴 자료는 아닙니다.
함께 쉬는 날 찾기에서 11월 5일부터 30일을 조회하고 최소 연속 휴무를 3일로 고르면 첫 후보가 11월 6~8일입니다. 휴무 길이는 날짜 세 개를 센 값입니다. 출발·귀가 시각이나 숙박 일수를 정한 값은 아니므로 실제 여행 시각은 별도로 잡습니다.
| 날짜 | A 근무 | B 근무 | 공동 휴무 |
|---|---|---|---|
| 11/05 | 주 | 주 | 아니요 |
| 11/06 | 휴 | 휴 | 예 |
| 11/07 | 휴 | 휴 | 예 |
| 11/08 | 휴 | 휴 | 예 |
| 11/09 | 주 | 주 | 아니요 |
종료는 마지막 날 다음 날짜의 경계입니다
iCalendar 표준인 RFC 5545의 VEVENT 설명은 시작 경계를 포함하고 종료 경계는 포함하지 않는다고 정합니다. 여기서 다루는 것은 날짜만 지정한 종일 일정입니다. 파일의 DTSTART;VALUE=DATE는 첫 날짜, DTEND;VALUE=DATE는 그 일정에 들어가지 않는 종료 날짜를 뜻합니다.
따라서 20261106에서 시작해 20261109 직전에 끝나는 일정에는 6·7·8일이 들어갑니다. 종료를 20261108로 고치면 8일도 제외되어 6·7일의 이틀 일정이 됩니다. 마지막 날짜가 하루 커 보인다는 이유만으로 파일을 수정하면 실제 표시 기간을 줄일 수 있습니다.
| 필드 | 파일 값 | 의미 |
|---|---|---|
| DTSTART;VALUE=DATE | 20261106 | 11월 6일부터 포함 |
| DTEND;VALUE=DATE | 20261109 | 11월 9일은 제외 |
월말과 연말에는 달력에서 다음 날짜를 구합니다
종료 경계가 달이나 해를 넘어갈 수도 있습니다. 아래는 각 범위를 독립적으로 정한 종일 일정의 비교입니다. 하루짜리 11월 30일 일정의 종료는 12월 1일입니다. 11월 30일~12월 2일은 종료가 12월 3일이고, 12월 31일~다음 해 1월 2일은 1월 3일입니다.
YYYYMMDD 형식의 숫자에 무조건 1을 더하는 방식은 월말에서 틀립니다. 20261130 다음 날은 20261131이 아니라 20261201입니다. 원래 일정의 마지막 날짜를 확인한 뒤 달력상 다음 날을 종료 경계로 잡아야 합니다. 비교 CSV에는 표시 범위와 두 파일 필드, 포함 날짜 수를 함께 적었습니다.
| 화면에서 포함할 범위 | 시작 필드 | 종료 필드 | 길이 |
|---|---|---|---|
| 2026-11-06~11-08 | 20261106 | 20261109 | 3일 |
| 2026-11-30 하루 | 20261130 | 20261201 | 1일 |
| 2026-11-30~12-02 | 20261130 | 20261203 | 3일 |
| 2026-12-31~2027-01-02 | 20261231 | 20270103 | 3일 |
가져온 달력에서는 첫날·마지막 날·종일 여부를 봅니다
파일을 가져온 뒤에는 11월 6일에 시작하고 8일까지 이어지며 9일에는 표시되지 않는지 확인하세요. 숫자로 보이는 종료 필드와 달력 화면의 마지막 포함 날짜를 같은 뜻으로 비교하지 않는 것이 핵심입니다. 종일 일정이므로 특정 시각의 출발·도착을 대신하지도 않습니다.
Google Calendar 공식 안내에 따르면 컴퓨터의 가져오기 및 내보내기에서 ICS 파일을 선택하고 대상 캘린더를 지정할 수 있습니다. 이 글의 CSV는 필드를 비교하는 자료입니다. Google Calendar용 CSV는 별도의 영어 헤더 형식을 요구하므로 캘린더로 옮길 때는 도구의 ICS 저장을 사용하세요.
가져온 파일과 원본의 변경도 따로 관리해야 합니다. Google의 안내는 파일로 가져온 일정이 계정 사이에서 동기화되지 않는다고 설명합니다. 근무표가 바뀌면 새 결과와 이미 넣은 일정을 대조하고, 다시 가져오기 전 기존 일정도 확인하세요. potatospark에서 다시 계산하는 것만으로 외부 캘린더의 일정이 수정되지는 않습니다.
내 일정으로 바꿔 보기
가상 패턴 두 개와 조회 기간 30일로 열립니다. 최소 연속 휴무를 3일 이상으로, 후보 정렬을 가까운 날짜 먼저로 바꾼 뒤 첫 구간인 2026-11-06~08을 확인하고 캘린더 파일을 저장하세요. 같은 파일에는 조회 범위에서 찾은 다른 3일 이상 구간도 포함되므로 여러 일정이 들어 있습니다.
함께 쉬는 날 찾기 예시 열기출처와 계산 조건
RFC 5545 3.6.1의 종일 일정 시작·종료 경계와 Google Calendar 공식 가져오기 안내를 참고했습니다. 두 근무 패턴과 월말·연말 범위는 가정이며 비교표·CSV는 날짜를 직접 계산한 자료입니다. 다른 일정 서비스의 표시나 자동 갱신 방식까지 보증하는 예시는 아닙니다.