수능 카운트다운 도구
대학입학시험까지 얼마나 남았을까요? 실시간 업데이트, 초 단위까지 정확하게
시험 일정
수능 카운트다운이란?
수능 카운트다운은 전국 대학입학시험까지 남은 시간을 실시간으로 계산하는 도구입니다. 수능은 보통 매년 6월 7일부터 9일까지 거행되며, 전국에서 가장 중요한 시험 중 하나입니다. 이 도구는 남은 일수, 시간, 분, 초를 정확하게 계산하여 학생과 학부모가 시험 준비 계획을 세우는 데 도움을 줍니다. 시험 일정은 연도와 지역에 따라 조정될 수 있으므로 남은 시간을 확인한 뒤에도 교육 당국의 공식 공지, 수험표 일정, 학교 안내를 함께 확인하는 것이 안전합니다.
사용 방법
기본 사용법
- 페이지를 열면 다음 Gaokao까지의 정확한 카운트다운을 확인할 수 있습니다
- 카운트다운은 매초 자동으로 업데이트됩니다
- 아래 시험 일정에서 각 과목별 시험 시간을 확인하세요
- 이 페이지를 브라우저 홈으로 설정해 매일 카운트다운을 확인하세요
기능
계획 팁
- 카운트다운을 활용해 장기 준비 계획을 세우되, 최종 시험 일정은 현지 교육 당국의 공식 공지에 따르세요.
- 마지막 몇 주간은 남은 일수에만 의존하지 말고 과목별 일정, 이동 시간, 준비 서류, 휴식 계획을 꼼꼼히 확인하세요.
활용 사례
기술 원리
카운트다운은 갱신 루프로 감싸진 단일 뺄셈 연산입니다. 남은 시간은 `target.getTime() - Date.now()`로 밀리초 단위로 계산된 뒤 정수 나눗셈으로 분해됩니다: days = `Math.floor(diff / 86400000)`, hours = `Math.floor(diff / 3600000) % 24`, minutes = `Math.floor(diff / 60000) % 60`, seconds = `Math.floor(diff / 1000) % 60`. 목표 시각은 고정입니다: 가오카오는 매년 6월 7일 오전 9시(중국 표준시, UTC+8)에 시작하며, 일부 신(新)가오카오 성은 4일까지 연장됩니다. 전환 규칙은 `Date.now()`를 `new Date(year, 5, 9, 17, 0)`과 비교합니다(JS 월은 0부터 시작하므로 5는 6월). 해당 시각이 지나면 `year`를 1 증가시킵니다. 두 가지 타이밍 함정이 갱신 루프를 구동합니다. 첫째, `setInterval(fn, 1000)`은 드리프트됩니다: 메인 스레드 경합 시 콜백이 1003~1020ms 후에 실행될 수 있으며, 다음 마감이 이전 실행 시점이 아닌 벽시계 기준으로 예약되지 않으므로 편차가 누적됩니다. 해결책은 `setTimeout`의 지연을 `1000 - (Date.now() % 1000)`으로 계산하여 각 틱이 다음 정수 초에 재정렬되도록 하거나, 카운터를 증가시키지 않고 매 실행마다 `Date.now()`에서 표시 값을 재계산하는 것입니다. 둘째, HTML5 Page Visibility API와 브라우저 스로틀링은 백그라운드 탭의 타이머를 분당 약 1회(최신 Chrome/Firefox/Safari에서 탭이 숨겨진 경우 최소 1Hz)로 제한합니다. 페이지는 간격 실행 횟수를 세는 대신 `visibilitychange`에서 `Date.now()`를 재계산하여 조정합니다. `requestAnimationFrame`은 부드러운 자릿수 플립 애니메이션을 위해 예약되어 탭이 숨겨지면 자동으로 일시정지되므로 타임스탬프의 진실 원본이 되어서는 안 됩니다. 지역화는 `Intl.DateTimeFormat().resolvedOptions().timeZone`으로 반환된 기기 시간대를 사용합니다. UTC+8 외부에 있는 수험생의 경우에도 표시되는 카운트다운은 여전히 중국 표준시를 목표로 하므로, 로컬 시간 `Date` 생성자가 기기 오프셋을 묵묵히 사용하는 대신 `Date.UTC(year, 5, 7, 1, 0, 0)`으로 한 번만 목표를 생성합니다(09:00 CST = 01:00 UTC). 윤년은 사용자의 계획 기준점이 2월 29일에 해당할 때만 영향을 미칩니다: 2월 29일에 시작한 100일 스프린트는 윤년이 아닌 2월 28일에 시작한 같은 스프린트와 다른 달력 날짜에 도달합니다. 저장소는 선택적 테마와 목표 날짜 오버라이드를 위한 `localStorage`이며, T-0 시점의 선택적 알림은 세션당 한 번 `Notification.requestPermission()`을 사용하고 페이지를 떠나지 않고 시스템 수준 알림을 표시하는 `new Notification(title, { body })`를 사용합니다.
- 핵심 공식: `diff = target.getTime() - Date.now()`; days = `Math.floor(diff / 86400000)`, 그 다음 `% 24`, `% 60`, `% 60`으로 시/분/초 산출. 상수: 86,400,000ms/일, 3,600,000ms/시간, 60,000ms/분.
- 목표: 6월 7일 오전 9시 중국 표준시(UTC+8). JS 월 인덱스는 6월이 5. 전환 트리거: `Date.now() > new Date(year, 5, 9, 17, 0)`일 때 `year += 1`.
- 타이머 드리프트: `setInterval(fn, 1000)`은 메인 스레드 부하 시 드리프트됨. 자기 교정 패턴: `setTimeout(fn, 1000 - Date.now() % 1000)`이 각 틱을 다음 정수 초에 재정렬.
- 백그라운드 스로틀링: Page Visibility API + 브라우저 정책이 숨겨진 탭의 타이머를 1Hz로 제한(Chrome/Firefox/Safari). `visibilitychange`에서 `Date.now()`를 재계산하여 조정, 실행 횟수를 세지 않음.
- 시간대: `Date.UTC(year, 5, 7, 1, 0, 0)`으로 목표 생성(09:00 CST = 01:00 UTC)하여 UTC+8 외부의 수험생도 자신의 로컬 09:00이 아닌 시험 시각에 대한 정확한 카운트다운 확인.
- 영속성: `localStorage.setItem(key, value)`(동기, ~5MB 오리진 할당량)로 테마 및 목표 오버라이드 저장. 알림은 `Notification.requestPermission()` 후 `new Notification(title, { body, icon })` 사용.
- 렌더링: `requestAnimationFrame`이 자릿수 플립 애니메이션 구동(숨겨지면 자동 일시정지); 표시 자릿수는 매 프레임 `Date.now()`에서 재계산하므로 누락된 프레임이 과소 계산되지 않음.
예시
100일 스프린트 계획 수립
카운트다운이 약 100일 남았을 때 100일 집중 복습을 시작하고, 매일 카운트다운을 확인하며 동기를 부여하세요.시험 일주일 전
카운트다운이 7일을 표시할 때 수면 패턴을 조정하여 가오카오 당일 최상의 컨디션을 유지하세요.학부모 알림용
학부모는 카운트다운 페이지를 브라우저 홈페이지로 설정하여 매일 자녀의 시험 준비 상황을 챙기는 알림으로 활용할 수 있습니다.자주 묻는 질문
어떤 가오카오(高考) 날짜를 기준으로 카운트다운하나요?
중국의 전국 대학 입학시험인 가오카오는 전통적으로 매년 6월 7~8일에 치러집니다(일부 성은 추가 과목을 위해 6월 9~10일까지 연장). 본 페이지는 다음 시험의 공식 발표 날짜를 사용하며, 아직 발표되지 않은 경우에는 6월 7일을 기본값으로 사용합니다.
다른 시험 날짜로 카운트다운할 수도 있나요?
많은 빌드가 사용자 지정 날짜를 지원하므로, 성(省) 단위 시험, 대학별 입시, 해외 시험까지 카운트다운할 수 있습니다. 설정에서 목표 날짜를 입력하면 그 시점까지 남은 일, 시, 분, 초가 표시됩니다.
시험이 끝나고 나서 -1일이 표시되는 이유가 무엇인가요?
목표 날짜가 지나면 0으로 표시하거나, 카운트업 모드('시험 후 N일 경과')로 전환하거나, 자동으로 다음 해로 넘어갑니다. 빌드마다 동작이 다르니 원하는 방식은 설정에서 확인하세요.
어떤 시간대를 사용하나요?
기기의 로컬 시간대를 사용합니다. 중국 본토는 UTC+8(서머타임 없음)입니다. 시험 날짜만 일치한다면, 기기 시간대가 베이징 시간이든 다른 시간대든 같은 카운트다운 숫자를 보게 됩니다.
탭이 백그라운드에 있을 때 카운트다운이 멈추나요?
아니요. 절대 시간을 추적하므로 백그라운드 스로틀링이 실제 값에 영향을 주지 않습니다. 탭으로 돌아오면 표시 값이 즉시 따라잡습니다. 브라우저를 닫았다가 다시 열어도 카운트다운은 정확히 유지됩니다.
응원 메시지는 무작위로 표시되나요?
대부분의 빌드는 새로 고침하거나 1분마다 미리 정의된 격려 문구 목록을 순환 표시합니다. 책상이나 벽면 디스플레이용으로 적합합니다. 메시지는 AI가 생성한 것이 아니라 고정된 문구 풀에서 가져옵니다. 보통 설정에서 끄거나 직접 작성한 문구로 교체할 수 있습니다.
전송되는 데이터가 있나요?
아니요. 카운트다운은 기기의 시계와 목표 날짜만으로 계산되며 어떤 데이터도 기록되거나 전송되지 않습니다.