为什么在操作系统以及很多编程语言中把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。。。。都沿用了这个{事实标准}。
当年的电脑需要一个可靠的外部时钟同步源,因此早期的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。。。。都沿用了这个{事实标准}。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询