Как сгенерировать stream дат?

197
18 мая 2018, 00:50

Нужно сгенерировать Stream<LocalDate> начиная с 01.01.1970

public void test {
    LocalDate ld = LocalDate.ofEpochDay(365);
    System.out.println("day of:" + ld);
}
Answer 1

Java 9 и более поздние

LocalDate start = LocalDate.of(1970, Month.JANUARY, 1);
Stream<LocalDate> dates = start.datesUntil(LocalDate.now());

Java 8

LocalDate start = LocalDate.of(1970, Month.JANUARY, 1);
LocalDate end = LocalDate.now();
Stream<LocalDate> dates = Stream.iterate(start, d -> d.plusDays(1))
                                .limit(ChronoUnit.DAYS.between(start, end));
Answer 2

Как вариант на Java 8 и выше:

Stream<LocalDate> dates = LongStream
    .rangeClosed(0, LocalDate.now().toEpochDay())
    .mapToObj(LocalDate::ofEpochDay);

В отличие от варианта из соседнего ответа такой стрим будет иметь характеристику SIZED.

READ ALSO
Не правильно работает JavaScript в WebView Android

Не правильно работает JavaScript в WebView Android

КОРОТКО: Нужно управлять страницей WebView с Android используя JavaScript: заполнять формы, нажимать кнопкиМногие методы работают на пк, но не на андрюше

195
Не могу распарсить сайт

Не могу распарсить сайт

Не могу распарсить подобные страницы https://wwwflashscore

150
Почему не могу передать из метода массив?

Почему не могу передать из метода массив?

Из-за объекста , как я думаю

192
Связка spring + hibernate + log4j + mysql

Связка spring + hibernate + log4j + mysql

Стоит задача сделать простейшее взаимодействие между 4мя технологиямиТ

205