从日期范围

问题描述

我有 2 个日期值(startDateendDate),它们都是 java.sql.date 类的对象。

如何创建包含这些日期之间(并包括)每个日期的日期的列表?

解决方法

一种方法是将日期转换为 java.time.LocalDate,以便您可以使用 datesUntil() 方法。

import scala.jdk.StreamConverters.StreamHasToScala

val dates: List[java.sql.Date] =
  startDate.toLocalDate()
           .datesUntil(endDate.toLocalDate().plusDays(1))
           .toScala(List)  //from Java Stream to Scala List
           .map(java.sql.Date.valueOf)

更好的做法是完全放弃 java.sql.Date 并坚持使用 java.time.LocalDate