Java день недели localdatetime

Java день недели localdatetime

уиииии я решил ее (Синтезируем LocalDateTime) мне кажецо так нагляднее чем в правильном решении (спойлер:)

 Set result = new HashSet<>(); Set keys = sourceMap.keySet(); for (LocalDate localDate : keys) < List times = sourceMap.get(localDate); for (LocalTime localTime : times) < LocalDateTime dateTime = LocalDateTime.of(localDate, localTime); result.add(dateTime); >> return result; 

Хотел сделать получше, чем правильное в валидаторе, но не смог доделать. В промежутки не попадает, может кто сможет улучшить?

 public static boolean isWeekend(LocalDateTime dateTime) < LocalDateTime weekendStart = LocalDateTime.of(dateTime.getYear(), dateTime.getMonth(), dateTime.getDayOfMonth(), WEEKEND_START_FRIDAY_CUT_OFF_HOUR, 0); LocalDateTime weekendEnd = LocalDateTime.of(dateTime.getYear(), dateTime.getMonth(), dateTime.getDayOfMonth(), WEEKEND_END_SUNDAY_CUT_OFF_HOUR, 0); if(dateTime.isAfter(weekendStart) && dateTime.isBefore(weekendEnd)) < return true; >else < return false; >> 

ChronoUnit — это перечисление (enum) в языке программирования Java, которое предоставляет набор единиц времени для измерения интервалов времени. Он входит в пакет java.time, который был добавлен в Java 8 для удобной работы с датами и временем. ChronoUnit содержит следующие единицы времени: Наносекунды (NANOS) Микросекунды (MICROS) Миллисекунды (MILLIS) Секунды (SECONDS) Минуты (MINUTES) Часы (HOURS) Дни (DAYS) Недели (WEEKS) Месяцы (MONTHS) Годы (YEARS) Десятилетия (DECADES) Века (CENTURIES) Тысячелетия (MILLENNIA) Вот пример, который добавляет 5 минут к текущему моменту времени (Instant):

 Instant now = Instant.now(); Instant later = now.plus(5, ChronoUnit.MINUTES); 

В этом примере мы создали объект Instant now, который содержит текущий момент времени, и затем мы использовали метод plus() с аргументами 5 и ChronoUnit.MINUTES, чтобы добавить 5 минут к текущему времени. Результат сохраняется в новом объекте Instant later

Хм, в задании «Фильтруем выходные» не заметил поля класса и решил немного по другому, но главное, что валидатор засчитал ДАЛЬШЕ ИДУТ СПОЙЛЕРЫ.

 DayOfWeek dayOfWeek = dateTime.getDayOfWeek(); if (dayOfWeek == DayOfWeek.FRIDAY && dateTime.getHour() >= 22 || dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY && dateTime.getHour() < 23) < return true; >else< return false; 

Почему в задачах используют пакеты которые не были использованы и обговорены в ходе лекции Для чего? Можно же после расмотрения всех тем их добавить в доп. лекции с сылками ну либо просто посоветовать с ними познакомиться! Не сколько раз уже такое попадалось

Читайте также:  Python self printing program

Источник

Оцените статью