🕐 World Clock · 多國時間轉換器
在 24 小時制欄位輸入台北時、分(0–23、0–59)後,列表改為顯示「該日台北」此時刻的各地時間,並停止每秒更新。清空任一欄或按 Reset 恢復即時模式。
以 Intl.DateTimeFormat 與 IANA 時區計算各地時間,不手寫 UTC 偏移,日光節約時間由瀏覽器引擎處理。
📐 架構圖
flowchart TD
subgraph LIVE["Live mode"]
TICK["setInterval 1s"] --> NOW["instant = new Date()"]
NOW --> R1["render(instant)"]
end
subgraph PIN["Pinned mode"]
INP["兩個 number:時 0–23、分 0–59\n台北牆上時間 24h"] --> COMB["與「今日台北日曆日」組合"]
COMB --> FIND["在 UTC 時間軸上搜尋 1 分鐘步長\n直到 Intl 在 Asia/Taipei\n顯示目標年月日時分"]
FIND --> INST["fixedInstant"]
INST --> R2["render(fixedInstant)\n清除 interval"]
end
RST["Reset to live\n清空 input"] --> LIVE
R1 --> FMT["每城市:Intl.DateTimeFormat\nIANA timeZone"]
R2 --> FMT
FMT --> HM["輸出 HH:mm\nhourCycle h23"]
FMT --> YMD["輸出各區 YYYY-MM-DD\n與台北日比較"]
YMD --> BADGE["Today / +1 / -1\n相對於台北日曆日"]