如果你是一名Java工程师或者是你正在学习Java,在学习的过程当中,想必你一定会遇到这样的问题,为什么Java的时间是从年1月1日算起的呢?这里就给大家来科普一下,带来一些奇怪的知识。
其实除了Java语言之外,几乎是所有的语言都是采用的是从年1月1日作为起始的日期,在第一次接触到这个日期的时候,大家都是从Integer这个关键字学起的,或许在学习的过程当中并没有具体的思考为什么采用的是这个时间,而是简单地把它当作我们进行编程的一个习惯或者标准来对待,当然我们对知识要有一颗敬畏之心,也就是老师一直所说的“知其然,知其所以然”。
原因就是目前的Java语言是起源于UNIX系统的,而UNIX操作系统正好认为年1月1日是时间的纪元,所以这样的一定就一直被保留了下来,也就是我们看到的时间为什么都是从之一时间点算起的原因。
除此之外呢,另外一个十分重要的原因就是在最初计算机的系统都是32位的,并不像现在基本上都是64位的操作系统,所以说在取值范围上,可能会有较大的偏差,在Integer地表示当中,32位只能表示的最大值是,一年天的总毫秒数是:,两者相除是68.1,也就是说我们用计算机来表示的话,32位能够保存的最长时间是68年,过了这个时间所保留的数据类型就要改变。
在UNIX操作系统当中,就直接将这一时间作为纪元时间,所以后来出现的Java也就顺利的延续了这一标准,目前随着64位操作系统的逐渐普及和大众化,这一问题也就随之消失了,如今的64位操作系统完全可以将时间推迟到我们遥想不到的将来。