ToolActToolAct

플립 시계

전체 화면, 12/24시간 모드, 초 표시를 지원하는 실시간 디지털 플립 시계입니다.

시간 동기화 중
AM
--
--
--
--
--
--

플립 시계란?

플립 시계는 20세기 중반의 클래식 기계식 플립 시계에서 영감을 받은 카드 전환 애니메이션으로 시간을 표시하는 디지털 시계입니다. 이 상징적인 시계들은 독특한 시각적 매력과 향수적인 매력으로 인기를 끌었으며, 물리적으로 뒤집히는 카드를 사용하여 변화하는 숫자를 표시했습니다.

이 도구는 각 자릿수가 변경될 때마다 사실적인 페이지 넘김 애니메이션으로 클래식 플립 시계 효과를 완벽하게 재현합니다. 다운로드 없이 브라우저에서 직접 실행되며, 전체 화면 모드, 12/24시간 형식 전환, 선택적 초 표시 기능을 갖추고 있습니다.

용도: 데스크 시계, 사무실 장식, 라이브 스트리밍 배경, 프레젠테이션 타이머, 포모도로 기법, 대형 화면 등. 모든 시간 계산은 로컬에서 수행되어 개인정보를 보호합니다.

사용 방법

사용 방법

  1. 시계는 현재 시간을 자동으로 표시하고 실시간으로 업데이트됩니다
  2. '12H/24H' 버튼을 클릭하여 시간 형식을 전환합니다
  3. 'Seconds/No seconds' 버튼을 클릭하여 초 표시 여부를 전환합니다
  4. 'Fullscreen' 버튼을 클릭하여 전체 화면 모드로 전환합니다
  5. 설정은 자동으로 저장되며 다음 방문 시 복원됩니다

  • 프로젝터, 벽 디스플레이 또는 여분의 태블릿에서 방 안 어디서나 시계가 잘 보이도록 하려면 전체 화면 모드를 사용하세요.
  • 회의, 수업, 행사 등 진행 중 시계가 계속 보여야 한다면 시스템 절전 모드와 화면 자동 어두워짐을 꺼 두세요.
  • 여러 지역이 공유하는 일정에는 24시간제를 선택하고, 정밀한 타이밍이 필요할 때만 초를 표시하세요.

활용 사례

보조 화면에 큰 가독성 시계 표시애니메이션 플립 카드, 현지화된 날짜 텍스트, 선택적 전체 화면 스테이지로 데스크, 스튜디오, 교실, 워크숍, 라이브 스트리밍 배경에 현재 시각을 표시합니다. JavaScript Date API를 통해 로컬 시스템 시계만 읽고 CSS3 transform으로 플립 애니메이션을 처리하므로 원격 시간 서버를 호출하지 않으며, 로그인이나 클라우드 계정 없이도 계속 작동합니다.
실용적인 표시 모드 전환시계가 정밀한 타이밍용인지, 분위기용인지, 프레젠테이션 화면인지에 따라 초를 켜고 끄며 12시간제 또는 24시간제를 선택하세요. 초를 숨기면 카드가 1분에 한 번 뒤집혀 분위기 표시에 적합한 차분한 틱이 되고, 초를 표시하면 분·시 카드가 매분 정각에 함께 뒤집혀 멀리서도 읽기 쉽습니다.
알람 설정 없이 시각적으로 시간 확인이 페이지는 표시 전용 시계이지 타이머나 스케줄러가 아닙니다. 가시성이 중요할 때 사용하고, 알림이나 세션, 경과 시간 추적이 필요하면 카운트다운이나 포모도로 도구를 사용하세요. 표시가 브라우저의 로컬 시간을 따르므로 시스템 시계를 정확하게 유지하세요.
스튜디오 타이밍은 초 표시, 분위기에는 숨기기초 행을 켜면 녹화 세션과 라이브 강연에 더 선명한 비트를 제공하고, 끄면 사무실 벽, 로비, 대기실처럼 틱이 방해가 되는 곳에서 차분한 표시가 됩니다. 플립은 CSS3 3D transform의 perspective 값을 사용해 렌더링되며, 카드는 고정폭 숫자 슬롯을 사용해 넓은 '2'나 좁은 '1'이 레이아웃을 밀고 매 틱마다 1픽셀 흔들림을 일으키지 않습니다.
별도의 카운트다운과 함께 세션 운영이 페이지는 표시 전용이므로 세션, 강연, 회의에 눈에 보이는 종료 표시가 필요하면 전용 포모도로 또는 카운트다운 앱과 함께 사용하세요. 두 페이지가 동일한 시스템 시계를 읽으므로 시간은 창 간에 일관됩니다. 전체 화면 버튼은 브라우저 requestFullscreen API를 사용해 주소 표시줄 없이 프로젝터, 키오스크 표시, 보조 태블릿에 페이지를 띄웁니다. 회의실 벽 시계로 충분하며 네이티브 키오스크 앱의 추가 설정이 필요 없습니다.

기술 원리

각 자릿수 카드는 현재 값을 표시하는 상단 절반과 다음 값을 표시하는 하단 절반으로 분리되며, X축을 중심으로 0deg에서 -180deg까지 회전하는 세 번째 절대 위치 레이어가 있습니다. 부모 요소에 perspective: 600px이 적용되어 회전이 수직 축소가 아닌 3D 깊이감으로 인식되고, 회전 레이어에 backface-visibility: hidden이 설정되어 거울상의 뒷면이 비치지 않습니다. will-change: transform이 설정되면 브라우저가 해당 레이어를 자체 합성 표면으로 승격하므로, 매 프레임마다 텍스트를 다시 그리는 대신 GPU에서 플립이 실행됩니다.

시간 자체는 Unix 에포크 이후 밀리초 단위의 Date.now()에서 가져오지만, 단순한 setInterval(fn, 1000)은 타이머가 최선 effort 스케줄링으로 실행되어 누적 편차가 발생합니다. 대신 다음 틱을 1000 - (Date.now() % 1000)으로 계산하여 실제 시계의 초 경계에 정확히 맞추고, requestAnimationFrame으로 플립 전환을 처리하므로 탭이 포커스를 잃거나 모니터가 절전 상태일 때 애니메이션이 자동으로 일시정지됩니다. Page Visibility API(document.visibilityState)가 visibilitychange 이벤트에서 표시 자릿수를 재동기화하므로, 사용자가 몇 분 후 돌아왔을 때 오래된 값이 표시되는 것을 방지합니다.

표시 형식은 hourCycle 옵션('h23'은 24시간제, 'h12'는 오전/오후 12시간제)과 함께 Intl.DateTimeFormat에서 브라우저 로케일을 읽어옵니다. 일광 절약 시간 전환은 getHours() 같은 Date 메서드가 이미 오프셋 시프트를 포함한 로컬 시간을 반환하므로 암묵적으로 처리되어, 봄에는 02:00에서 03:00으로 건너뛰고 가을에는 01:00이 두 번 표시됩니다.
  • 3D 플립: 절대 레이어에 CSS transform: rotateX(-180deg) 적용, 부모 perspective: 600px, 거울상의 뒷면을 억제하는 backface-visibility: hidden
  • GPU 합성: will-change: transform이 플립 요소를 자체 레이어로 승격하여 전환을 다시 그리기 대신 합성 처리
  • 드리프트 없는 틱: setTimeout 지연을 1000 - (Date.now() % 1000)으로 계산하여 각 틱이 타이머 편차 누적 대신 실제 초 경계에 정확히 도달
  • 애니메이션 타이밍: requestAnimationFrame이 0deg에서 -180deg 전환을 구동하며, 백그라운드 탭에서는 브라우저가 자동으로 스로틀링
  • 백그라운드 복구: Page Visibility API가 visibilitychange를 수신하고 Date.now()를 다시 읽어 탭이 포커스를 되찾을 때 자릿수가 올바른 값으로 점프
  • 로케일 및 시간 주기: hourCycle 'h23' 또는 'h12'를 사용하는 Intl.DateTimeFormat이 사용자의 시스템 로케일에서 24시간제 또는 12시간제(오전/오후) 표시를 선택
  • 전체 화면 제어: Element.requestFullscreen()와 document.exitFullscreen()이 벽면 표시 모드를 구동하며, Esc가 표준 종료 키

예시

데스크톱에서 사용

브라우저 창 크기를 조절하여 데스크톱 한쪽 모서리에 상시 시계로 배치하세요.

대형 화면 표시

프로젝터나 대형 디스플레이에 연결한 뒤 F11로 전체 화면을 켜고 회의실이나 행사장에서 표시할 수 있습니다.

라이브 방송 배경

OBS에서 브라우저 소스를 추가하고 플립 시계 URL을 방송 배경으로 사용하세요.

자주 묻는 질문

이 시계는 어떤 시간대를 사용하나요?

기기의 OS에 설정된 로컬 시간대를 사용합니다. 다른 시간대를 표시하려면 별도의 세계 시계 도구를 이용하세요. 시스템 시간 자체를 따르므로 VPN이나 시간대 위장으로는 변경되지 않습니다.

12시간제와 24시간제를 전환할 수 있나요?

네. 설정에서 전환할 수 있습니다. 12시간제는 AM/PM을 함께 표시하고, 24시간제는 AM/PM 없이 00~23으로 표시합니다. 취향대로 선택하시면 되며, 일부 빌드는 기본적으로 OS 로케일을 따릅니다.

초가 1초 이상씩 건너뛰는 이유가 무엇인가요?

백그라운드 탭 스로틀링 때문입니다. 다른 탭으로 전환하면 브라우저가 업데이트 빈도를 늦추고, 돌아오면 시계가 건너뛰어 따라잡습니다. 부드러운 애니메이션을 원하면 탭을 활성화 상태로 두세요. 활성 상태에서도 건너뛴다면 CPU 과부하일 수 있으니 다른 작업을 점검해 보세요.

플립 애니메이션이 성능에 영향을 주나요?

CSS transform 애니메이션은 GPU 가속을 받아 최신 기기에서는 부담이 매우 적습니다. 오래된 노트북이나 폰에서는 1초마다 약간의 끊김이 보일 수 있는데, 이 경우 설정에서 플립 애니메이션을 끄고 정적인 시계 화면으로 사용하세요.

밤새 전체 화면으로 켜둘 수 있나요?

네. 책상 시계나 머리맡 시계로 쓰도록 전체 화면 사용을 염두에 두고 설계되었습니다. 다만 최신 OS는 일정 시간이 지나면 화면을 어둡게 하거나 절전 모드로 전환하므로, 디스플레이 설정에서 '절전 안 함'으로 지정하거나 OS의 NoSleep 기능을 사용하세요. 노트북은 전원에 연결하시고, 배터리 절전 모드는 탭을 일시 정지시킬 수 있다는 점도 참고하세요.

장시간 켜두어도 시간이 정확하게 유지되나요?

네. 시계는 시스템 시간을 기반으로 하며, 네트워크에 연결된 기기는 NTP를 통해 동기화됩니다. 최신 OS에서 24시간 동안 켜두어도 일반적으로 1초 이내의 오차에 그칩니다.

전송되는 데이터가 있나요?

아니요. 시계는 기기의 시간을 읽어올 뿐이며 어떤 데이터도 기록되거나 전송되지 않습니다.