技术科普
Unix纪元:为什么从1970年1月1日开始
计算机系统中常见的时间戳,多从1970年1月1日00时00分00秒UTC开始计数。这个起点被称为Unix纪元。
为什么是1970年
Unix系统在20世纪70年代开发,设计者需要一个统一的起始时间。1970年1月1日接近系统诞生时间,便于用32位整数表示。这个选择后来成为事实标准,被大量系统沿用。
时间戳如何表示
Unix时间戳记录从纪元开始的秒数,不包含闰秒。当前时间戳约为17亿秒。编程语言和数据库通常提供转换函数,把时间戳转换为本地时间。
2038年问题
- 32位有符号整数最大约21.4亿秒,对应2038年1月19日。
- 超过该时刻,时间戳可能溢出为负数。
- 64位系统可以表示更长时间,但旧系统仍需升级。
- 嵌入式设备和老软件是重点排查对象。
时区与显示
Unix时间戳本身是UTC基准,不包含时区信息。显示为当地时间时,需要结合时区数据库转换。跨时区系统应存储时间戳或UTC时间,避免存储本地时间字符串。
小结
Unix纪元从1970年开始,是计算机世界的时间原点。理解它,才能正确处理时间戳和时区。