年度進度是指單一本地民用年度中已經過的百分比,計算方式是將今年 1 月 1 日當地午夜到裝置目前時間戳記之間已過的毫秒數,除以該起始點到明年 1 月 1 日當地午夜之間的總時間長度,再乘以一百。產生的結果是一個介於零到一百之間、保留六位小數的數字,並搭配以同一個未經四捨五入的比率所繪製的進度條。整個運算都在你的瀏覽器中進行——不使用網路時間伺服器、不需要帳號、不保留紀錄——因此你看到的數字完全反映你裝置的日期、時間與時區設定所顯示的內容。年度進度追蹤器會顯示這個數字、視覺化進度條、已完成的整個 24 小時週期數量,以及剩餘 24 小時週期的上限值,這些全部都是從同一個有序時間區間所推導出來。由於運算純粹是時間區間的比率,年度進度是一個中性的參考指標:它告訴你日曆年度在你所在地是如何展開的,並刻意不對你的專案、截止日期、財務或個人計畫做任何評價。

year progress explained
年度進度解析:數字的意義

年度進度實際上在衡量什麼

核心測量是一個比率,由三個數值決定:

  • 起始邊界:今年當地年度 1 月 1 日的當地午夜。
  • 結束邊界:明年當地年度 1 月 1 日的當地午夜。
  • 由裝置的 Date 建構函式所產生、並以裝置本地時區解讀的「現在」時間戳記。

已過毫秒數等於現在減去起始。總毫秒數等於結束減去起始。百分比等於已過除以總數,再乘以一百。頁面套用兩個夾限——顯示的百分比不可以低於零(在 1 月 1 日午夜之前),也不可以超過一百(在明年 1 月 1 日午夜之後)。進度條使用相同的原始、未經四捨五入的數值,而可見的標籤則四捨五入到六位小數,讓變化看起來平滑,卻不會宣稱裝置時鐘無法達到的精確度。

這個定義刻意設定得很狹窄。它只追蹤裝置所設定本地時區中的單一民用年度邊界。它不會內嵌假日、工作日、學期、會計年度、宗教曆法、ISO 週數或特定司法管轄區的規則。那些曆法回答的是不同的問題;追蹤器刻意不涉入其中,以保持單一數字的清晰與無歧義。

本地邊界與日光節約時間的細節

大多數讀者會假設一個日曆年度是 365 或 366 個相同的 24 小時日子。在本地,這個假設可能會失效。在任何實施日光節約時間的時區中,單一本地日曆日依據轉換的不同,可能包含 23 小時或 25 小時。年度進度的公式能自然處理這種情況,因為它是基於兩個本地午夜邊界之間的絕對毫秒數來運算,而不是計算日曆標籤。

這對於伴隨百分比顯示的日數摘要很重要。進度條旁邊會顯示兩個數值:

  • 已過的整個 24 小時週期 = floor(已過毫秒數 ÷ 86,400,000)。
  • 剩餘的 24 小時週期 = ceil(剩餘毫秒數 ÷ 86,400,000)。

兩者都是時間長度的摘要,而不是已跨越的本地日期標籤數量。如果你在時鐘撥慢或撥快當天查看追蹤器,你可能會注意到已過天數計數前進了,但日曆日期才剛變更,或是日曆日期已推進但計數卻停滯不動。頁面會明確揭示這個差異,而不是加以隱藏。閏年也不需要內嵌對照表——平台在建構起始與結束邊界時,Date 物件會自動處理 2 月 29 日。

如何閱讀即時數字

  1. 開啟頁面,確認顯示的年度與裝置預期的本地日期及時區設定一致。
  2. 同時閱讀六位小數的百分比、進度條、已過的整個 24 小時週期,以及剩餘週期的上限值。
  3. 僅將該數值作為中性的時間參考;在變更裝置時鐘或時區後重新整理頁面。

頁面在載入後會更新,之後每分鐘更新一次。沒有日期輸入欄位:目前的本地年度就是裝置時鐘所指的那一年。如果追蹤器位於背景分頁,瀏覽器可能會節流計時器,因此顯示內容可能只會在分頁再次成為作用中,或你手動重新整理時才會更新。若想更深入了解最終的百分比實際上在衡量什麼,可以參考這份年度進度準確度指南,其中更詳細地說明了相同的邊界概念。

使用公式的計算範例

假設你的裝置時鐘顯示為非閏年 7 月 2 日當地正午,且所在時區的 1 月 1 日與明年 1 月 1 日都沒有發生日光節約時間轉換。兩個邊界相距正好 365 天:

  • 總區間 = 365 × 86,400,000 毫秒 = 31,536,000,000 毫秒。
  • 從 1 月 1 日午夜到 7 月 2 日正午的已過時間:31 + 28 + 31 + 30 + 31 + 30 + 1.5 = 182.5 天。
  • 已過毫秒數 = 182.5 × 86,400,000 = 15,768,000,000 毫秒。
  • 百分比 = (15,768,000,000 ÷ 31,536,000,000) × 100 = 50.000000%。

追蹤器會在標籤上顯示 50.000000%,視覺化進度條正好位於中間。已過的整個 24 小時週期 = floor(182.5) = 182。剩餘的 24 小時週期 = ceil(365 − 182.5) = ceil(182.5) = 183。合計:182 + 183 = 365,即完整的一年。該數值純粹來自兩個毫秒計數的比率,除此之外不需要任何其他東西。

年度進度無法告訴你的事

這個數字的範圍刻意設定得很窄。它只測量本地年度中已過的時間,並不做任何評價。常見的誤讀應該避免:

  • 它不是截止日期。3 月才開始的專案,完成度不需要與 7 月相同。
  • 它與財務無關。它不會追蹤會計季度、營運績效、營收目標或課稅年度的進度。
  • 它不是個人評量。它不會排名努力程度、生產力、幸福感或道德進展。
  • 它不具法律效力。追蹤器並非由網路時間服務的時鐘,也不會認證官方時間。

了解這些限制後,年度進度就能成為有用的中性提示——可以瞥一眼的東西,而不是用來衡量自己的標準。同樣的百分比能支援差異頗大的參考用途,例如:

參考用途年度進度如何融入
中性規劃參考適用於日曆、儀表板或年度回顧模板的年度步調快照。
日誌提示在每日紀錄中加入一行「今日完成度 %」,並搭配個人反思。
儀表板元素在其他年度指標旁顯示一個小型的視覺化進度條,不含評價意味。
步調指標對一年感受的粗略掌握,與目標完成度分開看待。

每一列都是有效的用途;沒有一個被推崇為「正確」的用途。頁面本身只提供數字,並刻意不對你應該如何反應提出任何指示。

關於天數計算的常見混淆

由於日光節約時間的轉換會讓本地日曆日偶爾變成 23 或 25 小時,兩種計算天數的方式可能產生分歧:

  • 日曆日期計數:自 1 月 1 日以來已過了多少個不同的本地日期標籤。
  • 時間長度計數:已過區間內可容納多少個完整的 24 小時毫秒週期。

追蹤器的整日數字採用時間長度計數。一年中的大多數時間,這兩種方法是一致的。在春季撥快或秋季撥慢前後,兩者可能會相差 1。頁面明確揭示這一點,以免讀者將天數視為日曆標籤計數。

如果顯示的年度看起來不正確——例如偏差超過一天,或時間持續推進但數字卻卡住不動——首先應該檢查裝置本身。手動設定錯誤的時鐘、處於暫停狀態的筆電、與主機時鐘不同的虛擬機器、本地時區與日期不符的遠端瀏覽器,或任何攔截 Date 建構函式的隱私工具,都可能改變結果。這些都不是追蹤器的錯誤;而是任何基於本地時鐘運算的限制。請檢查作業系統的日期、時間、自動同步與時區設定,然後在進行重大設定變更後重新整理頁面。這個工具不會聯繫網路時間伺服器、不會自行修正時鐘飄移,也不會認證法律時間,因此操作者仍然是餵入這個比率之輸入資料的最終來源。

延伸閱讀:線上碼錶的意義與使用方法。