Cómo calcular los días que pertenece a un número de la semana en base ISO

tom:

Tengo un número de la semana en base ISO que se calcula utilizando la siguiente API de Java 8 LocalDate

int weekNumOfYear = LocalDate#get(IsoFields.WEEK_OF_WEEK_BASED_YEAR)

Teniendo en cuenta el año, y el número de la semana (por ejemplo, 201927), ¿Cómo podría calcular el día de inicio y fecha final de esta semana (201917)?

Estoy utilizando Calendarla clase para este problema, pero no está seguro de que es correcta (en especial, si es ha seguido el formato ISO)

Actualización: El código siguiente no funciona correctamente para 201953, no hay semana 53ª de 2019

@Test
    public void testGetWeekDays() {
        Integer year = 2019;
        Integer week = 27;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();

        //Use ISO format
        cal.setMinimalDaysInFirstWeek(4);

        cal.setFirstDayOfWeek(Calendar.MONDAY);
        cal.set(Calendar.YEAR, year);
        cal.set(Calendar.WEEK_OF_YEAR, week);
        cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
        String beginDate = sdf.format(cal.getTime());
        cal.add(Calendar.DAY_OF_WEEK, 6);
        String endDate = sdf.format(cal.getTime());
        System.out.println(beginDate);
        System.out.println(endDate);
    }
Consorcio inactivo :

También se puede utilizar withpara obtener los días de inicio y final día de la semana

System.out.println(localDate.with(DayOfWeek.MONDAY));
System.out.println(localDate.with(DayOfWeek.SUNDAY));

Si desea obtener día de inicio y el día final del número de la semana, a continuación, utilizar ISO_WEEK_DATE

LocalDate startDay = LocalDate.parse("2019-W26-1", DateTimeFormatter.ISO_WEEK_DATE);

LocalDate endDay = LocalDate.parse("2019-W26-7", DateTimeFormatter.ISO_WEEK_DATE);

Un dígito para el día de la semana. El valor de ejecución de lunes (1) a domingo (7).

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=335906&siteId=1
Recomendado
Clasificación