開發者工具·Unix時間戳轉換器
為什麼 Unix 時間從 1 一月 1970 開始:這個紀元的簡短歷史
· 背景
時間戳 unix 時間 資料格式
1 一月 1970 沒有發生任何事情;在 Unix 的原始時鐘面臨溢出威脅後,選擇這個日期是為了方便。這篇文章講述了早期 Unix 時鐘、向秒的轉變以及該約定如何傳播到各地的故事。
一個沒人慶祝的日期 - 為什麼半個世紀後 1970 不斷出現在錯誤、預設設定和儀表板中
一月 1970 每當軟體錯誤持續時間很短或秒數為毫秒時就會出現。它不是由 ToolAcre 產生的後備生日;它是解釋輸入的零點。對紀元零的測試返回 `1970-01-01T00:00:00.000Z` 和星期四。
因此,看到該日期即可進行診斷。接近零的值、強制為零的缺失欄位或比例不符都可能落在附近。在指责格式化之前捕獲原始值。日歷輸出顯示了它收到的算術結果。
ToolAcre 的值得注意的紀元表給零一個有意的標籤,強調 1970 是一個定義的引用,而不是瀏覽器選擇的錯誤頁面。
Unix 的第一個時鐘 — 從 1971 開始計算六十分之一秒,並在三年內用完 32 位空間
這本工作簿詳細介紹了從 1971 開始計數六十的早期時鐘。所需的儲存庫來源都沒有記錄該歷史記錄。即使外部歷史後來可能支持它,憑記憶重複它也會違反創作合約。
可以證明的是當前軸:紀元處為零,其後為正秒數,其前為負秒數。此機制足以使用轉換器和診斷軟體。未來的歷史文章應該添加經過審查的主要或學術來源,而不是將程式碼視為設計會議的證據。
此儲存庫不來源 Unix 的第一個時脈設計,因此沒有斷言歷史重建
ToolAcre 將其輸入命名為 Unix 時間戳,並在錯誤指導中將其定義為自 1970-01-01 UTC 以來的秒或毫秒。該消息人士沒有解釋為什麼選擇這一年,圓度是否重要,或者設計師想要哪個地平線。這些動机仍然被忽略。
算術確實解釋了固定起源的持久效用:減法產生經過的距離,比較順序瞬間,並符號指示值位於零的哪一側。零的選擇是常規的;生產者和消費者之間的一致性使得數字可以互通。
這個差異將約定和結果分開。當歷史學家繼續評估有關大會起源的證據時,軟體可以自信地依賴其後果。
實現的定義使用 1970;選擇它的動機需要這裡沒有的歷史資料
每天依照 POSIX 轉換進行測試模型,並明確地從 `2016-12-31T23:59:59Z` 跳到 `2017-01-01T00:00:00Z`。這是该工具行為的可执行證據。它不是對任何外部標準的措詞或完整範圍的引用。
將標準宣告與實施測試區分開來。測試證明版本在其固定裝置下的作用;標準檔案定義了符合標準的系統應該做什麼。這裡的實際契約足夠清晰,可以預測產出,而無需發明形式化歷史。
此測試還可以防止未來的重構悄悄地將特殊的跳躍標籤插入輸出。可觀察到的相容性受到保護,但沒有誇大其約定存在的原因。
ToolAcre 測試 POSIX 樣式模型,但不作為標準引用
JavaScript Date 表示其紀元計數(以毫秒為單位),而 ToolAcre 接受 Unix 秒並透過乘以 1,000 進行轉換。該路線還返回兩種形式。這個邊界解釋了為什麼 Web 應用程式經常在同一時刻暴露出三個額外的十進制零。
存儲庫無法建立資料庫、C 庫和其他生態系統采用纪元表示的年表。它不是敘述無源的傳播,而是顯示當前的互通性接縫並標記所使用的單元。對於當今的開發人員來說,這是可行的證據。
這種限制避免了常見的內容失敗:一系列看似合理的里程碑在沒有引用的情況下重複,直到後來的讀者將累積的重複誤認為是書面證據。
儲存庫證據顯示 JavaScript 的毫秒錶示,而不是完整的傳播歷史
固定紀元不包含本地區域。 ToolAcre 將結果日期格式化為 UTC 格式,並在瀏覽器的本機區域中單獨格式化。負值在零之前延伸,如 -1 測試所示。這些結果直接來自數位軸和格式化層。
此實作也具有 ±8.64×1015 毫秒的日期範圍。這是所選表示的限制,而不是時代抽象概念固有的限制。在從轉換器結果进行歸纳之前,始終确定正在讨论的范围和單位。
本地格式化程序可以根據偏移量應用 UTC 邊界之前或之後的日期。即不移動零;它只改變人類曆法投影。
這不包括其他系統的紀元,例如 1900、1601 和 1980,它們有自己的歷史
其他系統可以選擇另一個零和另一個標度,這就是為什麼大整數在兩個 ToolAcre 單位下可能仍然沒有意義。本文不會重述 1900、1601 或 1980 起源的歷史。相反,文章 340 著重於識別不符並從記錄的定義中匯出轉換。
當來源未知時,請與來源文件進行比較,而不是重複移零。 Unix 轉換器有意假設 1970 年;它無法從一個數字自動識別外國紀元。將原點與單位保持在一起可以防止算術成功變成語意錯誤。
其他紀元起源單獨比較,此處不宣告其歷史
可靠的教訓是機械的:Unix 零映射到 1970 UTC 的開頭,符號在其周圍延伸,秒在日期格式化之前變成 JavaScript 毫秒。 ToolAcre 使每個事實都可以通過值 0、−1 和值得注意的歷元表进行觀察。
人們選擇該約定的原因屬於歷史來源,而非現代法典的推論。尊重這個界線會產生一個更短但更真實的敘述。使用轉換器進行算術運算;在歸因動機或里程碑之前使用適當的歷史資料。
證據纪律是技術准确性的一部分。精確的遺漏告訴維護人員在歷史帳戶可以負責任地擴展之前需要什麼新的來源。