Usando java.time
El enfoque moderno es con las clases java.time, suplantando los legados de edad clases de fecha y hora problemáticos .
calcular la diferencia en días entre las fechas (que tienen un componente de 0 tiempo)
La clase LocalDate
representa un valor de fecha de sólo sin tiempo de día y sin zona horaria.
Enum tiene algunos métodos útiles como between
.
En la definición de espacios de tiempo, las clases java.time utilizan el enfoque de medio abierto, donde el principio es incluido, mientras que el final es exclusiva .
LocalDate start = LocalDate.of(2017 , Month.JANUARY , 23);
LocalDate stop = LocalDate.of(2017 , Month.FEBRUARY , 17);
long daysBetween = ChronoUnit.DAYS.between(start , stop);
Puede representar ese espacio de tiempo como un objeto, utilizando la clase Period
.
Period p = Period.between(start , stop);
Sobre java.time
El marco java.time está incorporado en Java 8 y versiones posteriores. Estas clases suplantan a las viejas y problemáticas clases de fecha y hora legacy, como java.util.Date
, Calendar
, & SimpleDateFormat
.
El proyecto Joda-Time, ahora en maintenance mode, recomienda la migración a las clases java.time.
Para obtener más información, consulte el Oracle Tutorial. Y busque Stack Overflow para obtener muchos ejemplos y explicaciones. La especificación es JSR 310.
¿Dónde obtener las clases java.time?
- Java SE 8, Java SE 9, y más tarde
- incorporado.
- Parte de la API estándar de Java con una implementación integrada.
- Java 9 agrega algunas características menores y correcciones.
- Java SE 6 y Java SE 7
- Gran parte de la funcionalidad de back-java.time está portado a Java 6 & 7 en ThreeTen-Backport.
- Android
El proyecto se extiende ThreeTen-Extra java.time con clases adicionales. Este proyecto es un terreno de prueba para posibles adiciones futuras a java.time. Puede encontrar algunas clases útiles aquí, como Interval
, YearWeek
, YearQuarter
y more.
JODA TIME !!!!!! (¡Antes de la prisa!) –
[java.time] (http://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html) !!!!!! –