Oigan, bienvenidos de nuevo, muchachos. Scott Stanlick aquí. En esta lección, vamos a echar un vistazo en la nueva API de fecha/hora de Java. Vamos a ver muchas fechas locales, funcionalidad de fecha y hora de la zona horaria local. Veremos como trabajar con los puntos y duraciones para determinar lapsos de tiempo entre estos diferentes tipos temporales. Y luego, por último, vamos a ver ajustadores temporales que son simplemente geniales. Vas a disfrutarlo. Así que empecemos echando un vistazo a por qué surgió la API de fecha/hora de Java y es una historia ilustre. La fecha y la hora heredadas de los calendarios gregorianos y calendarios y todo eso, han existido desde Java 1.0 y te lo digo, son bastante terribles. No son seguros para subprocesos, son mutables lo que quiere decir que pueden cambiar debajo de ti si no tienes cuidado. estan muy mal diseñados en términos de cómo fueron diseñados. Las fechas comienzan con 1900, los meses comienzan a la una, los días comienzan en cero, y eso es probablemente suficiente. Fue una locura. y tambien fue dificil para manejar las zonas horarias con el viejo mundo. Así que pasemos la página y vamos a echar un vistazo a esta cosa nueva. La nueva API de fecha y hora de Java está completamente reescrito desde cero. Es cristalino, limpio, y funciona notablemente bien. Es inmutable, por lo que no nos verá decir sabía esto, sabía aquello, o lo otro. En cambio, haremos cosas como esta. Diremos, me gustaría saber cuál es la fecha local ahora. o me gustaria saber cuál es la hora local ahora y fecha local, hora local, o la combinación aquí, fecha hora local, que combina la fecha y la hora. No saben nada de la zona horaria, y muchas veces no te importa y no necesita saber si necesitas preocuparse por la zona horaria, hay una zona de fecha y hora, como puede ver. Así que estos son los cuatro tipos que son básicamente la base debajo de esto. Así que hay toneladas de métodos, hay toneladas de tipos, pero una vez que empiezas a ver cómo funciona esto, simplemente sale de tu lengua. Es tan fácil trabajar con él. Entonces, por ejemplo, ahora date, cuál es mi fecha local aquí, Puedo decir obtener mes. En este caso, voy a usar la zona fecha hora ahora como hora del Pacífico. Entonces digo ahora la hora de la fecha de la zona central, ese soy yo aqui Pero con la zona, mismo instante. En otras palabras, quiero saber ahora mismo que hora es si estuviera en la hora del pacifico y debería decir dos horas antes que Central. Resulta que estoy en Central. Entonces, si ejecutamos este método, hacemos esta prueba, deberíamos ver que estoy en hora central. deberíamos ver eso ahora que la hora del Pacífico está dos horas por delante de mí. Así que veamos aquí, 17:54 es mi tiempo, Centro de Chicago. Sí, son las 15:54, dos horas más que yo. Así que ahí vamos. Vemos la fecha local, la hora local con precisión de milisegundos. Vemos la fecha hora local cual es la combinacion de los dos y luego vemos ahora la fecha y hora de la zona central. Así que es toda la enchilada. Y el menos cinco es menos cinco horas fuera de la hora del meridiano de Greenwich. Así que cuando pregunté qué mes es, Me dijo agosto. Fabuloso. Así que echemos un vistazo en algunas otras cosas que podemos hacer una vez que hemos establecido un punto en el tiempo, un día o una hora. Podemos hacer cosas como agregar horas, minutos, días, años, lo que sea. Está disponible para que lo hagamos aquí. En este caso, estoy diciendo, Me gustaría saber qué es mañana. Entonces, si hoy fuera el 5 de agosto de 2022, Bueno, mañana va a ser más un día, 6 de agosto de 2022. Genial, eso tendría sentido. Estoy mirando mi calendario. Pero esta cosa entiende si esto pasó haber sido el 28 de febrero, lo que debería ser mañana si es bisiesto, si no es bisiesto. si es 31 de diciembre y añadiendo un día termina convirtiéndolo en un nuevo año. Es muy consciente de todos esos vuelcos. Así que hoy hay una ventaja. Dije que es mañana después de hoy, ¿verdad? Y simplemente se lee así. Mañana es después de hoy. Eso es cierto. Cuando veo que hoy es pasado mañana, dice que no Entonces digo hoy, obtener el día de la semana. Dice viernes. Obtener el día del mes, cinco, obtener el día del año, 217. Así que hoy es el día 217 del año. Es hermoso. Hay soporte para la compatibilidad con versiones anteriores. Déjame deletrearlo correctamente. Soporte para compatibilidad con versiones anteriores. Y funciona así. Te lo dije antes que había algunos problemas reales con la fecha/hora antigua. Como por ejemplo, el año comenzó con 1900. Así que si quisiera crear mi cumpleaños utilizando el antiguo sistema, Tendría que decir 1970 menos 1900. Y luego cinco es el mes, que es de base cero, que es junio, que es seis. Y luego el día era en realidad una base, entonces 15. Eso debería ser el 15 de junio de 1970. y puedo imprimirlo. Entonces puedo decir, Quisiera cumplir ese legado de cumpleaños en una fecha y hora local. Así que este es el puente, por así decirlo. llevar al viejo y convertirlo en una nueva fecha hora local. Así que ejecutemos esto. Debería ver la fecha anterior y luego debería ver la nueva fecha que es efectivamente el mismo punto en la línea de tiempo. Así que ahí está la fecha de nacimiento heredada que fue el lunes 15 de junio de CBT 1970, y aquí está la fecha moderna, que es la fecha y hora local, y ambos son del 15 de junio de 1970. Así que funcionaron perfectamente. Impresionante. Gracias por ver.