首页 文章

为什么1970年1月1日是“纪元时代”?

提问于
浏览
416

为什么是

1970年1月1日00:00:00

考虑了纪元时间?

4 回答

  • -10

    早期版本的unix以1/60秒的间隔测量系统时间 . 这意味着32位无符号整数只能表示小于829天的时间 Span . 出于这个原因,数字 0 (称为纪元)所代表的时间必须在最近的过去设定 . 由于这是在20世纪70年代早期,这个时代被设定为1971-1-1 .

    之后,系统时间被改变为每秒递增,这增加了可以用32位无符号整数表示的时间 Span 到大约136年 . 由于将每一秒挤出柜台不再那么重要,因此时代逐渐缩小到最近的十年,从而成为1970-1-1 . 必须假设这被认为比1971-1-1有点整洁 .

    请注意,使用1970-1-1作为其纪元的32位有符号整数可以表示高达2038-1-19的日期,在该日期它将回绕到1901-12-13 .

  • 47

    History .

    最早版本的Unix时间有一个32位整数,以60 Hz的速率递增,这是早期Unix系统硬件上系统时钟的速率 . 因此,某些软件界面中仍会显示60 Hz的值 . 这个时代也与现在的 Value 不同 . 1971年11月3日的第一版Unix程序员手册将Unix时间定义为“自1971年1月1日00:00:00以来,以六十分之一秒为单位测量的时间” .

  • 8

    http://en.wikipedia.org/wiki/Unix_time#History解释了一下Unix时间和所选时代的起源 . unix时间和纪元日期的定义经历了一些变化,然后才稳定现在的状态 .

    但它没有说明为什么最终选择了1970年1月1日 .

    来自维基百科页面的着名摘录:

    1971年11月3日的第一版Unix程序员手册将Unix时间定义为“自1971年1月1日00:00:00以来,以六十分之一秒为单位测量的时间” . 由于[有限范围],在将速率改变为1Hz并且将纪元设定为其当前值之前,将纪元重新定义不止一次 . 几个后来的问题,包括当前定义的复杂性,导致Unix时间逐渐被使用定义而不是完全定义开始 .

  • 390

    简答:为什么不呢?

    更长的答案:时间本身并不重要,只要使用它的每个人都同意它的 Value . 由于1/1/70已经使用了很长时间,使用它将使尽可能多的人尽可能理解代码 .

    选择任意时代只是为了与众不同,没有什么好处 .

相关问题