Year End

年末時間戳

查找下一個年份邊界的 Unix 時間戳,並複製常見的日期範圍值用於年度報告和腳本。

你的本地時區是 UTC

年末邊界

對大多數資料庫過濾而言,乾淨的邊界是下一年的開始 00:00:00 UTC。把它用作排他上界:created_at >= yearStart and created_at < nextYearStart。

為什麼排他上界更安全

排他上界避免了差一秒和毫秒精度的錯誤。它們在儲存秒的小數部分的資料庫之間也能乾淨地工作。

使用年末邊界

最安全的年末時間戳記是下一年的第一刻,用作排他上界。它表示目前年份停止的那個點,而不依賴於你的儲存保留秒、毫秒、微秒還是奈秒。這使同一個過濾器在日誌、API 和 SQL 資料庫之間可移植。

  • 使用 created_at < nextYearStart 而非 created_at <= lastSecondOfYear
  • JavaScript 和前端圖表範圍使用毫秒值
  • Unix 工具和大多數後端時間戳記欄使用秒值
  • 檢查完整的年度範圍時把該值與 yearStart 搭配

驗證年末值

把複製的值轉換回 UTC,確認它是下一年的 1 月 1 日 00:00:00。儘管人們稱之為年末,這個邊界有意是該年之後的第一刻,從而在秒、毫秒和微秒精度下保持資料庫過濾器乾淨。它還避免了決定最後儲存的記錄使用 23:59:59、23:59:59.999 還是更細的小數值。