问题描述
我有 2 个日期值(startDate
和 endDate
),它们都是 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
。