본문으로 건너뛰기
WorkAlio
집계 규칙

Google 캘린더 내보내기 기간 지정은 실제로 어떻게 작동하나요?

고객의 시간을 정산하려고 지난주 캘린더를 내보냈는데, 밤 11시에 시작해 월요일 새벽까지 이어진 통화가 자정 이후의 분만 집계되어 나타납니다. 내보낸 파일 자체에는 기간이라는 개념이 전혀 없습니다 — Google은 매번 캘린더 전체를 그대로 넘겨줍니다 — 그래서 사용자가 요청한 기간은 일정 단위로 나중에 적용되며, 경계에 걸친 일정은 삭제되거나 통째로 유지되는 대신 잘려 나갑니다.

Calendar Timesheet가 적용하기 전까지 내보내기 파일에는 기간이 없습니다

다운로드한 .ics 파일에는 언제나 캘린더 전체가 들어 있습니다 — 파일 안에 “지난달”이나 “이번 주” 같은 것이 내장되어 있지 않습니다. Calendar Timesheet에서 설정하는 날짜 범위는 일정 단위로 나중에 적용됩니다. 일정은 그 창과 조금이라도 겹치기만 하면 필터를 통과하므로, 범위 안에 일부만 걸쳐 있는 일정도 스프레드시트 필터처럼 파일 단계에서 잘리는 대신 그대로 나타납니다.

경계에 걸친 일정은 삭제되지 않고 잘려 나갑니다

밤 11시부터 새벽 1시까지 이어지며 8월 18~22일 범위의 시작을 걸치는 통화는 사라지지도, 전체가 집계되지도 않습니다. Calendar Timesheet는 창 안에 들어오는 부분만 집계합니다 — 실제로 통화가 이어진 120분 중 60분입니다 — 그리고 합계가 최종값이 아니라 부분값임을 알 수 있도록 그 행을 clipped로 표시합니다. 행에는 통화의 실제 시작·종료 시각이 그대로 표시되므로, 일부만 청구되었더라도 캘린더 항목처럼 보입니다.

어느 경계에도 닿지 않는 일정은 절대 표시되지 않습니다

범위 안쪽에 여유 있게 들어가는 통화 — 예를 들어 범위가 시작된 지 한참 지난 오전 9시부터 10시까지 — 는 clipped가 false인 채로 온전한 60분을 보고합니다. 이 표시는 실제로 경계에 닿은 행을 위한 것이지, 보고서의 모든 행에 붙는 것이 아닙니다.

종일 일정이 기간으로 잘리는 방식 보기

경계에 닿는 것과 넘는 것은 서로 다릅니다

범위가 시작되는 바로 그 순간에 끝나는 통화는 아무것도 기여하지 않습니다 — Calendar Timesheet는 1분의 일부를 집계하는 대신 완전히 제외하고, 사유를 outsideRange로 기록합니다. 겹침은 실제로 일어나야 하며, 일정이 닿기만 하고 한 번도 들어가지 않는 경계는 창 안쪽으로 간주되지 않습니다.

기간을 지정하지 않으면 일정 전체가 집계됩니다

날짜 범위를 비워 두면 Calendar Timesheet는 캘린더 자체의 실제 시각으로 돌아갑니다 — 8월 18~22일 창 안에서는 60분으로 잘리는 같은 통화도 기간을 전혀 설정하지 않으면 실제 120분 전체를 집계합니다. 잘라내기는 기간이 일정에 하는 일이지, Calendar Timesheet가 기본적으로 하는 일이 아닙니다.

기간의 마지막 날은 통째로 포함되며, 자정까지의 일부가 아닙니다

“8월 18일부터 22일까지”를 요청하면 Calendar Timesheet는 22일의 첫 순간까지가 아니라 22일이 끝날 때까지 창을 실행합니다 — 기간은 실제로 August 23의 자정에 닫힙니다. 22일의 마지막 30분에 있는 통화도 온전한 30분을 집계합니다. 이 경계를 잘못 처리하는 것이야말로 모든 보고서에서 마지막 날을 조용히 잃어버리게 만드는 종류의 버그입니다.

시계가 바뀌는 날은 기간 계산이 가정하는 것보다 짧습니다

영국에서 서머타임이 시작되는 날을 우연히 포함하는 이틀짜리 기간을 요청하면, Calendar Timesheet의 창은 48시간이 아니라 47 실제 시간이 됩니다 — 그날 자체가 23시간뿐이기 때문입니다. 기간은 양쪽 끝 모두 보고서 자체 시간대의 자정에 고정되어 있으므로, 사라진 한 시간은 합계를 조용히 부풀리는 대신 계산에서 빠집니다.

기간의 폭에는 상한이 있습니다

Calendar Timesheet는 400일을 넘는 사용자 지정 기간을 받아들이지 않습니다. 매일 반복되는 회의는 요청한 창 안의 날마다 한 번씩 펼쳐지므로, 상한이 없는 기간은 브라우저에 한 번에 수십 년치를 구체화하라고 요구하는 셈이 됩니다. 이 상한이 지키는 것은 사용 중인 탭이지, 청구할 수 있는 범위가 아닙니다.

이것으로 알 수 없는 것

잘라내기는 Calendar Timesheet가 사용자를 대신해 내리는 판단이지, 사용자의 업무에 대한 사실이 아닙니다. 경계에 걸친 통화는 범위 안의 분만 집계되며, 만약 실제로는 그 통화 전체를 이전 주로 청구했다면 그 판단은 사용자의 상황에 맞지 않습니다 — 그래서 잘린 행은 모두 합계에 조용히 섞여 들어가는 대신 항상 표시된 채로 남습니다. 400일이라는 상한도 형식적인 것이 아니라 실제 제약입니다. 그보다 더 넓게 요청하면 Calendar Timesheet는 보고서를 아예 실행하지 않습니다.

자주 묻는 질문

내보내기 기간보다 먼저 시작하는 일정을 Calendar Timesheet가 삭제하나요?
아니요 — 잘라냅니다. 8월 18~22일 범위의 시작을 걸치는 통화는 실제로 이어진 120분 중 범위 안에 있는 60분만 유지하며, 그 행은 삭제 대신 clipped로 표시됩니다.
제 기간이 시작되는 바로 그 순간에 끝나는 일정은 어떻게 되나요?
일부만 잘리는 것이 아니라 완전히 제외됩니다 — 그 일정이 실제로는 창에 한 번도 들어가지 않기 때문에 Calendar Timesheet는 사유를 outsideRange로 기록합니다.
기간을 아예 설정하지 않으면 어떻게 되나요?
캘린더 전체가 시각 단위로 그대로 집계됩니다 — 기간을 설정하면 60분으로 잘렸을 같은 통화도 기간을 적용하지 않으면 실제 120분 전체를 집계합니다.
내보내기 기간에 마지막 날이 통째로 포함되나요, 아니면 시작 시점의 자정까지만인가요?
통째로 포함됩니다. “8월 18일부터 22일까지”라는 기간은 August 23의 자정까지 이어지므로, 22일 자정 직전 30분에 있는 일정도 온전한 30분을 집계합니다.
사용자 지정 내보내기 기간의 폭에 상한이 있나요?
400일입니다. 그보다 넓은 기간을 요청하면 Calendar Timesheet는 보고서를 실행하지 않습니다 — 매일 반복되는 회의는 요청한 창의 날마다 한 번씩 펼쳐지므로, 브라우저 탭이 감당할 수 있는 양에는 상한이 있어야 합니다.

자신의 캘린더로 직접 확인해 보세요

Calendar Timesheet는 브라우저 안에서 .ics 내보내기 파일을 읽습니다 — 업로드되는 것도 없고, Google 계정에 연결되는 것도 없습니다.