Red de conocimientos sobre prescripción popular - Conocimiento dental - Cómo manejar felizmente fechas y horas en Java 8

Cómo manejar felizmente fechas y horas en Java 8

Para manejar felizmente fechas y horas, es suficiente que haya actualizado a java8, porque Java 8 tiene nuevas interfaces LocalDate y LocalTime para manejar fechas y horas.

Veamos primero cómo usar el nuevo LocalDate: ///? Obtener la fecha actual:

LocalDate?today?=?LocalDate.now();?//? ->? 2014-12-24

//?Obtener la fecha según el año, mes y día, diciembre es 12:

LocalDate?crischristmas?=?LocalDate.of (2014,?12,? 25);?//?->?2014-12-25

//?Según la cadena:

LocalDate?endOfFeb?=? LocalDate.parse("2014- 02-28");?//?Verifique estrictamente de acuerdo con ISO?yyyy-MM-dd Incluso escribir 02 como 2 no funcionará. Por supuesto, existe un método sobrecargado que le permite. para definir el formato usted mismo

LocalDate.parse("2014 -02-29");?//?No se puede pasar la fecha no válida: DateTimeParseException:?Invalid?date

Fecha A menudo se encuentran conversiones, como por ejemplo: //Obtenga el primer día de este mes:

LocalDate?firstDayOfThisMonth?=?today.with(TemporalAdjusters.firstDayOfMonth());?//?2014-12 -01

//?Obtener el segundo día de este mes:

LocalDate?segundoDíaDeEsteMes?=?today.withDayOfMonth(2);?//?2014-12-02

//?Obtén el último día del mes, ya no es necesario calcular 28, 29, 30 o 31:

LocalDate?lastDayOfThisMonth?=?today.with(TemporalAdjusters.lastDayOfMonth ());?/?//?2014-12-31

//?Eliminar un día:

LocalDate?firstDayOf2015?=?lastDayOfThisMonth.plusDays(1);?// ?Se convierte en 2015-01-01

//?Tome el primer día de enero de 2015. Un lunes, usar Calendar para este cálculo costará muchas células cerebrales:

¿Fecha local? firstMondayOf2015?=?LocalDate.parse("2015-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY ));?/?//?2015-01-05

Hora local

LocalTime solo contiene tiempo. ¿Cómo podríamos usar java.util.Date para expresar solo el tiempo en el pasado? La respuesta es fingir ignorar la fecha.

LocalTime contiene milisegundos:

LocalTime?now?=?LocalTime.now();?//?11:09:09.240

Quizás quieras claro Número de milisegundos: LocalTime?now?=?LocalTime.now().withNano(0));?/?//?11:09:09

Construir el tiempo también es muy sencillo: LocalTime?zero? =?LocalTime .of(0,?0,?0);?/?//?00:00:00

LocalTime?mid?=?LocalTime.parse("12:00:00"); ?// ?12:00:00

La hora también se reconoce según el formato ISO, pero se pueden reconocer los siguientes tres formatos:

12:00

12:01:02

12:01:02.345

JDBC

La última asignación de JDBC asociará el tipo de fecha de la base de datos con el nuevo Java 8 tipo: SQL?->? Java

--------------------------

fecha? ->?LocalDate

hora?->?LocalTime

marca de tiempo?->?LocalDateTime

nunca más se asigna a java.util.Date donde alguna parte de la fecha u hora es 0 situación.