为什么在 *** 作系统以及很多编程语言中把1970

为什么在 *** 作系统以及很多编程语言中把1970,第1张

个问题说来话长。 程序语言受电脑系统影响,而现代电脑系统都受到Unix系统的广泛影响,而1970年1月1日这个时间正是Unix系统的起始时间(epoch·time)。

当年的电脑需要一个可靠的外部时钟同步源,因此早期的Unix系统用一个32位字长表示时间,以1/60秒,即1Hz为时间间隔和外部时间源同步(这道不完全是由于老美的电网频率是60Hz的缘故,当时的系统主板的晶振就是1Hz)。 结果这个时间所表示的跨度只有大约829天(约2.5年),显然不够用,因此需要一个原始的起始(〔纪〕··〔元〕)时间,由于Unix系统源自上时间69年代,第一个正式版本于1970年首次运行在PDP-11上,1971年11月UNIX Programmer's Manual(Unix程序员手册)首次公布,这个手册里面提及了起始时间,将它定义为【1971】年1月1日。-- 手册也承认,该起始时间大约每2.5年就要重新修正一次。

之后系统时间同步间隔被修订为1秒,这样32位就可表述约136年的跨度,也正是这个期间(具体年份不祥),起始时间被修订为1970.1.1 (Unix开发者认为把之前的1971.1.1取整进位到最临近的年代起始(以每10年一个断代算),要比1971这个有点不伦不类的时间好),因此从这以后,Unix一直沿用了1970.1.1这个起始时间,而相关的程序也相应的沿用了这个时间,而深受Unix影响的后续 *** 作系统们,如:OS/2, Windows, Mactonish, Linux。。。。都沿用了这个{事实标准}。

没事的,1970年这是初始时间,详细来说安卓是linux内核的 *** 作系统,linux以及其它类UNIX *** 作系统是以1970年1月1日为第一天开始计时的,所以有些安卓系统的默认时间是1970年1月1日,相当于0,说明该时间自出厂后没变过。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11444118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存