At first, the computer operating system was 32 bits, and the time was expressed as 32 bits.
System. Out. println (integer. max_value );
2147483647
Integer is represented by 32 bits in Java, so the maximum value expressed by 32 bits is 2147483647. In addition, the total number of seconds for the second day of the year is 365,
2147483647/31536000 = 68.1
That is to say, the maximum time that 32 bits can represent is 68 years. In fact, by, January 1, January 19, 2038
Seconds, the maximum time will be reached. After this time point, all 32-bit Operating System Time will change
10000000 00000000 00000000 00000000
That is
1901
December 13
20: 45 minutes 52 seconds, so that time regression will occur, and many software will run abnormally.
Here, I think the answer to the question has come out:
Because 32 bits are used to indicate that the maximum interval of time is 68 years
The generation time of the machine and the application time are combined Based on the epoch time of January 1, 1970 as UNIX time (start
Time), and Java naturally follows this constraint.
As for the phenomenon of time regression, it is believed that 64-bit operations will be gradually solved with the emergence of the operating system.
The system can represent
292,277,026,596 years
December 4
15: 30 minutes and 08 seconds. Believe in our n generation and grandchildren.
We don't have to worry about the destruction of the Earth that day, because this time is already years later.