localdatetime ejemplo java date java-time

ejemplo - string to date java



Obtenga el primer y último día del mes usando tresten, LocalDate (5)

La API se diseñó para admitir una solución que coincida estrechamente con los requisitos de la empresa

import static java.time.temporal.TemporalAdjusters.*; LocalDate initial = LocalDate.of(2014, 2, 13); LocalDate start = initial.with(firstDayOfMonth()); LocalDate end = initial.with(lastDayOfMonth());

Sin embargo, las soluciones de Jon también están bien.

Tengo un LocalDate que necesita obtener el primer y último día del mes. ¿Cómo puedo hacer eso?

p.ej. 13/2/2014 Necesito obtener 1/2/2014 y 28/2/2014 en formato LocalDate.

Utilizando tres clases LocalDate.


La respuesta de Jon Skeets es correcta y ha merecido mi aval, simplemente agregando esta solución ligeramente diferente para completarla:

import static java.time.temporal.TemporalAdjusters.lastDayOfMonth; LocalDate initial = LocalDate.of(2014, 2, 13); LocalDate start = initial.withDayOfMonth(1); LocalDate end = initial.with(lastDayOfMonth());


Para completar, y más elegante en mi opinión:

YearMonth month = YearMonth.from(date); LocalDate start = month.atDay(1); LocalDate end = month.atEndOfMonth();


Prueba esto:

LocalDate initial = LocalDate.of(2014, 2, 13); LocalDate start = initial.withDayOfMonth(1); LocalDate end = initial.withDayOfMonth(initial.getMonthOfYear().getLastDayOfMonth(false)); System.out.println(start); System.out.println(end);

puede encontrar el resultado de deseo pero necesita cuidar el parámetro verdadero / falso para el método getLastDayOfMonth

ese parámetro denota año bisiesto


Solo use withDayOfMonth , y lengthOfMonth() :

LocalDate initial = LocalDate.of(2014, 2, 13); LocalDate start = initial.withDayOfMonth(1); LocalDate end = initial.withDayOfMonth(initial.lengthOfMonth());