# [其他] 2038年問題 ###### tags: `其他` ## 會發生什麼事情? 電腦某些軟體在 2038-01-19 03:14:07 之後可能無法正常運作 ## 原因 32 位元可以儲存的整數範圍是 0 到 4294967295,或使用二的補數是 -2147483648 到 2147483647。 使用 UNIX 時間(或稱 POSIX 時間)的時間表示法,是以 1970-01-01 00:00:00 為基準,往後往前每秒增減一個數值,在大部份的 32 位元作業系統上,此「time_t」資料模式使用一個有正負號的 32 位元整數儲存計算的秒數,最大值是 2147483647。 從 1970-01-01 00:00:00 開始計算的 2147483647 秒,就是 2038-01-19 03:14:07,下一秒會變成 -2147483648,也就是時間會跳回到 1901-12-13 20:45:52。 ![Year 2038 problem](https://upload.wikimedia.org/wikipedia/commons/e/e9/Year_2038_problem.gif "Author: Monaneko") ## 解決方式 * 把系統由32位元轉為64位元系統。在64位元系統下,此時間最多可以表示到292,277,026,596-12-04 15:30:08 ## JavaScript 在處理時間時是否會受到影響 * [Why can JavaScript handle timestamps beyond 2038?](https://stackoverflow.com/questions/19980578/why-can-javascript-handle-timestamps-beyond-2038 "Why can JavaScript handle timestamps beyond 2038?") ## 參考資料 * [2038年問題 - 維基百科](https://zh.wikipedia.org/wiki/2038%E5%B9%B4%E9%97%AE%E9%A2%98 "2038年問題") * [32位元 - 維基百科](https://zh.wikipedia.org/wiki/32%E4%BD%8D%E5%85%83 "32位元") * [UNIX時間 - 維基百科](https://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4 "UNIX時間") * [2038年會有什麼大問題? | 一探啾竟 第35集 | 啾啾鞋](https://www.youtube.com/watch?v=NHwbnhRFnuw "2038年會有什麼大問題?") --- :::info 建立日期:2020-12-15 更新日期:2020-12-15 :::