Java 8 tiene una biblioteca completamente nueva para fechas y horas en el paquete java.time, lo cual es muy bienvenido para cualquiera que haya tenido que usar JodaTime antes o que tenga problemas para crear sus propios métodos auxiliares de procesamiento de fechas. Muchas clases en este paquete representan marcas de tiempo y tienen métodos auxiliares como getHour()
obtener horas de la marca de tiempo, getMinute()
obtener minutos de la marca de tiempo, getNano()
obtener nanos de la marca de tiempo, etc.
Me di cuenta de que no tienen un método llamado getMillis()
para obtener los millis de la marca de tiempo. En cambio, uno tendría que llamar al método get(ChronoField.MILLI_OF_SECOND)
. A mí me parece una inconsistencia en la biblioteca. ¿Alguien sabe por qué falta un método de este tipo, o dado que Java 8 todavía está en desarrollo, existe la posibilidad de que se agregue más adelante?
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Las clases definidas aquí representan los principales conceptos de fecha y hora, incluidos instantes, duraciones, fechas, horas, zonas horarias y períodos. Se basan en el sistema de calendario ISO, que es el calendario mundial de facto que sigue las reglas gregorianas prolepticas. Todas las clases son inmutables y seguras para subprocesos.
Cada instancia de fecha y hora se compone de campos que las API ponen convenientemente a disposición. Para acceso de nivel inferior a los campos, consulte el
java.time.temporal
paquete. Cada clase incluye soporte para imprimir y analizar todo tipo de fechas y horas. Consulte eljava.time.format
paquete para ver las opciones de personalización ...
Ejemplo de este tipo de clase:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
Una fecha y hora sin zona horaria en el sistema de calendario ISO-8601, como 2007-12-03T10: 15: 30.
LocalDateTime
es un objeto de fecha y hora inmutable que representa una fecha y hora, a menudo vista como año-mes-día-hora-minuto-segundo. También se puede acceder a otros campos de fecha y hora, como el día del año, el día de la semana y la semana del año. El tiempo se representa con una precisión de nanosegundos. Por ejemplo, el valor "2 de octubre de 2007 a las 13: 45.30.123456789" se puede almacenar en unLocalDateTime
...
get()
, en lugar de darles nombres únicos e individuales. Si te molesta, escribe una clase que herede la clase original y coloca tu propiogetMillis()
método en la nueva clase.