¿Por qué la hora del teléfono Android está configurada antes de las 8 en punto del 1 de enero de 1970?
System.out.println(integer.MAX_VALUE);
2147483647
Los números enteros están representados por 32 bits en JAVA, por lo que se pueden representar 32 bits El máximo El valor es 2147483647. Además, el número total de segundos en 1 año y 365 días es 31536000, 2147483647/31536000 = 68,1, lo que significa que el tiempo más largo que pueden representar 32 bits es 68 años, desde 1970. El tiempo máximo real se alcanzará el 065438 de octubre 65438 09 de septiembre de 2038 a las 03:14:07. Después de este punto de tiempo, el tiempo de todos los sistemas operativos de 32 bits será 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000
En este punto, creo que ha surgido la respuesta a la pregunta, es decir, porque el intervalo máximo entre 32 bits es de 68 años, y el primer sistema operativo UNIX tenía en cuenta la edad de la generación de computadoras. y el límite de tiempo de aplicación Utilice 19701 1 de junio como hora de época (hora de inicio) de la hora UNIX. En cuanto al fenómeno de la regresión del tiempo, creo que se irá solucionando poco a poco con la aparición de los sistemas operativos de 64 bits, porque se puede expresar como el 4 de febrero a las 292.277.026.596, 15:30:08 utilizando un sistema operativo de 64 bits. Creo que nosotros, las N generaciones de descendientes, no tenemos que preocuparnos incluso si la Tierra es destruida, porque este momento ya será cientos de miles de millones de años después.