ToolActToolAct

フリップ時計

全画面、12/24時間表示、秒表示に対応したリアルタイムのフリップ時計。

時刻を同期中
AM
--
--
--
--
--
--

フリップ時計とは?

フリップ時計は、20世紀中期のクラシックな機械式フリップ時計にインスパイアされた、カード反転アニメーションで時間を表示するデジタル時計です。これらの象徴的な時計は、その独特な視覚的魅力とノスタルジックな魅力で人気を博し、物理的に反転するカードを使って変化する数字を表示していました。

このツールは、各桁の変化ごとにリアルなページめくりアニメーションでクラシックなフリップ時計の効果を完璧に再現します。ダウンロード不要でブラウザ上で直接動作し、全画面モード、12/24時間形式の切り替え、オプションの秒表示を備えています。

用途:デスク時計、オフィス装飾、ライブ配信背景、プレゼンテーションタイマー、ポモドーロテクニック、大画面ディスプレイなど。すべての時間計算はローカルで行われ、プライバシーを保護します。

使い方

使い方

  1. 時計は現在時刻を自動的に表示し、リアルタイムで更新されます
  2. 「12H/24H」ボタンをクリックして時刻表記を切り替えます
  3. 「Seconds/No seconds」ボタンをクリックして秒の表示を切り替えます
  4. 「Fullscreen」ボタンをクリックしてフルスクリーンモードに入ります
  5. 設定は自動的に保存され、次回アクセス時に復元されます

ヒント

  • プロジェクターや壁面ディスプレイ、予備のタブレットでフルスクリーンモードを使用すると、部屋の隅からでも時刻が見やすくなります
  • 会議や授業、イベント中に時計を常に表示する必要がある場合は、システムのスリープや画面の暗転を無効にしてください
  • 地域をまたいだスケジュール共有には24時間表記を選び、秒の表示は正確なタイミングが必要な場合のみ有効にしましょう

利用シーン

2画面目に大型で見やすい時計を表示するアニメーション付きフリップカード、ローカライズされた日付テキスト、オプションの全画面ステージで現在時刻を表示します。デスク、スタジオ、教室、ワークショップ、ライブ配信の背景に最適です。ページはJavaScript Date APIを介してローカルのシステム時計のみを読み取り、CSS3変換でフリップアニメーションを実行するため、リモートタイムサーバーへの接続やアカウントのサインインは不要です。
用途に合わせて表示モードを切り替える秒の表示ON/OFFと12時間/24時間表示を、正確なタイミング表示、環境時計、プレゼン画面などの用途に合わせて選択できます。秒を非表示にすると、カードは1分に1回反転し、環境ディスプレイに適した落ち着いた表示になります。秒を表示している場合でも、分カードと時カードは毎分0秒に同時に反転するため、離れた場所からでも見やすい表示を保ちます。
アラーム設定なしで視覚的に時刻を確認する本ページは表示用の時計であり、タイマーやスケジューラーではありません。視認性が重要な場面で使用し、アラームやセッション管理、経過時間の追跡が必要な場合はカウントダウンやポモドーロツールを併用してください。表示はブラウザのローカル時刻に従うため、システム時計を正確に保ってください。
秒の表示ON/OFFで用途を分ける秒行をONにすると、録音セッションやライブトークに適した細かいビート感が得られます。OFFにすると、オフィスの壁、ロビー、待合室など、チクタクが気になる場面に適した落ち着いた表示になります。フリップアニメーションはCSS3の3D変換とパースペクティブ値でレンダリングされ、カードはモノスぺーシャルな数値スロットを使用しているため、「2」のような幅広い文字や「1」のような狭い文字でもレイアウトがずれて1ピクセルのジッターが発生することはありません。
カウントダウンと組み合わせてセッションに使う本ページは表示用でありタイマーではないため、セッションやトーク、会議に終了表示が必要な場合は、専用のポモドーロやカウントダウンアプリと組み合わせてください。両ページが同じシステム時計を読み取るため、ウィンドウ間で時刻の一貫性が保たれます。全画面ボタンはブラウザのrequestFullscreen APIを使用して、アドレスバーを表示せずにページをプロジェクトやioskディスプレイ、予備のタブレットに表示できます。会議室の壁掛け時計としては十分であり、ネイティブioskアプリの追加設定は不要です。

仕組み

各桁カードは、現在値を表示する上半分と次の値を表示する下半分に分割され、X軸を中心に0degから-180degまで回転する第3の絶対配置レイヤーで構成されます。親要素にperspective: 600pxを設定することで、回転が垂直方向の潰れではなく3D奥行きとして認識され、フリッピングレイヤーのbackface-visibility: hiddenにより、ミラーされた裏面が透けて見えるのを防ぎます。will-change: transformを設定すると、ブラウザはレイヤーを独自のコンポジタサーフェスに昇格させるため、フレームごとにテキストを再描画する代わりにGPU上でフリップが実行されます。

時刻はUnixエポックからのミリ秒単位のDate.now()から取得されますが、単純なsetInterval(fn, 1000)はタイマーがベストエフォートでスケジュールされるためドリフトが発生し、ずれが蓄積します。本ツールでは1000 - (Date.now() % 1000)を計算して次のティックをスケジュールし、実際の壁時計の秒境界に合わせ、フリップ遷移にはrequestAnimationFrameを使用します。これにより、タブがフォーカスを失ったりモニターがスリープ状態になったりした際にアニメーションが自動的に一時停止します。Page Visibility API(document.visibilityState)はvisibilitychange時に表示桁を再同期し、ユーザーが数分後に戻った際に古い値が表示されるのを防ぎます。

表示のフォーマットは、Intl.DateTimeFormatのhourCycleオプション('h23'で24時間表示、'h12'で12時間AM/PM表示)を使用してブラウザのロケールから読み取ります。サマータイムへの移行は暗黙的に処理されます。getHours()などのDateメソッドがオフセットシフトを含むローカル時刻を返すため、春には02:00から03:00にスキップし、秋には01:00が2回表示されますが、追加のロジックは不要です。
  • 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()を再読み込みして、タブがフォーカスを回復した際に正しい値にジャンプ
  • ロケールと時間サイクル: Intl.DateTimeFormatのhourCycle 'h23'または'h12'で、ユーザーのシステムロケールから24時間表示または12時間AM/PM表示を選択
  • 全画面制御: 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 秒に 1 回わずかなカクつきが見られることがあります。静的な時計面が良い場合は、設定でフリップアニメーションを無効にできます。

全画面表示で一晩中動かし続けられますか?

はい。デスクや枕元の時計として全画面で使用するように設計されています。最近の OS は画面を暗くしたりスリープに入れたりするので、起きたままにしておく必要があります(ディスプレイ設定で「スリープしない」に設定するか、OS の NoSleep を使用)。ノートパソコンでは電源に接続してください。バッテリーのスリープモードではタブが一時停止します。

数時間にわたって正確に動作しますか?

はい。時計はシステムクロックによって駆動され、ネットワーク接続されたデバイスでは NTP により同期され続けます。最近の OS では 24 時間運転でのドリフトは通常 1 秒未満です。

何かアップロードされますか?

いいえ。時計はデバイスから時刻を読み取るだけです。ログ記録も送信もされません。