为何计算机时间与众多编程语言起始时间是1970年1月1日, 你知道为什么计算机时间和很多编程语言的时间都要从1970年1月1日开始吗?这是一个很有意思的问题。
为什么时间测量的起点是1970年1月1日?我想大家应该都知道,但估计你们大部分人都没想过。接下来,我们来看看是什么原因。
1.最懒惰的解释
很多编程语言都起源于UNIX系统,UNIX系统认为1970年1月1日0: 00是时间纪元,所以我们常说的UNIX时间戳是以1970年1月1日0: 00为基准的。
说完懒人的解释,估计大家都还没明白真正的意思。所以让我们仔细看看。
2、深入了解
起初,计算机操作系统是32位的,时间也是用32位表示的。
System.out.println(Integer.MAX_VALUE);
2147483647
另外,一年365天的总秒数是31536000,2147483647/31536000=68.1,也就是说32位所能代表的最长时间是68年。如果从1970年开始加上68.1,实际上在2038年1月19日03: 14: 07达到最大时间。所有32位操作系统的时间都会变成1000000000000000000000000000000000,也就是1901年12月13日20: 45: 52。这样就会出现时间回归,很多软件运行不正常。
至此,我想问题的答案已经出现了,那就是因为32位表示时间的最大间隔是68年,而最早的UNIX操作系统考虑到计算机一代的年龄和应用的时间限制,以1970年1月1日作为纪元时间(开始时间)。至于时间倒退的现象,相信会随着64作为操作系统的出现而逐渐解决。因为292,277,026,596年12月4日15: 30: 08可以用64位操作系统来表示,所以我相信我们的N代子孙即使地球毁灭也不用足够担心,因为这个时间已经是1000亿年后了。
为何计算机时间与众多编程语言起始时间是1970年1月1日,以上就是本文为您收集整理的为何计算机时间与众多编程语言起始时间是1970年1月1日最新内容,希望能帮到您!更多相关内容欢迎关注。