在 1971 年,《Unix Programmer’s Manua》出版,将格林威治时间(GMT)1971 年 1 月 1 日 0 时 0 分 0 秒作为系统的起始时间。后来为方便记忆和计算,起始时间修改成 1970 年。现今的计算机系统,或多或少受 Unix 的影响,延续 Unix 的计时方式。从此之后 (GMT)1970 年 1 月 1 日 0 时 0 分 0 秒 就成为 Unix 世界的起始时间,甚至超越 Unix 而成为整个计算机世界的起始时间。

Unix 中常常使用一个数字记录时间,表示距离起始时间相差的秒数(根据系统的精度,时间单位有时毫秒,有时是纳秒)。大于 0 表示在起始时间之后,小于 0 就表示在起始时间之前。这个数字有时是浮点类型、有时是整数类型,但都称这个数字为 Unix 时间戳(Timestamp)。

当计算机存储或者传输 Timestamp 出错,这个 Timestamp 就会取默认值。而在计算机中,默认值通常是 0。

当 Timestamp 为 0,就表示时间(GMT)1970 年 1 月 1 日 0 时 0 分 0 秒。中国使用北京时间,处于东 8 区,相应就是早上 8 点。因此在中国这边,时间出错了,就经常会显示成 1970 年 1 月 1 日 08:00。

摘自 知乎