Capítulo 8. El paquete java.time

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Los amigos no dejan que los amigos usen java.util.Date.

Tim Yates

Desde el principio del lenguaje, la biblioteca de la edición estándar ha incluido dos clases para manejar fechas y horas: java.util.Date y java.util.Calendar. La primera es un ejemplo clásico de cómo no diseñar una clase. Si compruebas la API pública, prácticamente todos los métodos están obsoletos, y lo están desde Java 1.1 (aproximadamente 1997). Las obsoletas recomiendan utilizar Calendar en su lugar, lo que tampoco es muy divertido.

Ambos son anteriores1 la incorporación de los enums al lenguaje, por lo que utilizan constantes enteras para campos como los meses. Ambas son mutables y, por tanto, no son seguras para hilos. Para solucionar algunos problemas, la biblioteca añadió posteriormente la clase java.sql.Date como subclase de la versión en java.util, pero eso no solucionó realmente los problemas fundamentales.

Finalmente, en Java SE 8, se ha añadido un paquete completamente nuevo que lo aborda todo. El paquete java.time se basa en la biblioteca Joda-Time, que se ha utilizado como alternativa gratuita y de código abierto durante años. De hecho, los diseñadores de Joda-Time ayudaron a diseñar y construir el nuevo paquete, y recomiendan que los futuros desarrollos lo aprovechen.

El nuevo paquete se ha desarrollado en el marco de la JSR-310: API de Fecha y Hora, ...

Get Recetas Java modernas now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.