我正在尝试提取两个日期之间的日期。
如果我的输入是:
- 开始日期:
2020_04_02
- 结束日期:
2020_06_02
输出应该是:
List("2020_04_02","2020_04_03", "2020_04_04", "2020_04_05", "2020_04_06")
到目前为止我已经尝试过:
val beginDate = LocalDate.parse(startDate, formatted)
val lastDate = LocalDate.parse(endDate, formatted)
beginDate.datesUntil(lastDate.plusDays(1))
.iterator()
.asScala
.map(date => formatter.format(date))
.toList
import java.time.format.DateTimeFormatter
private def formatter = DateTimeFormatter.ofPattern("yyyy_MM_dd")
但我认为它甚至可以用更精致的方式来完成
最佳答案
我对此并不感到特别自豪,但我以前这样做过:
import java.time.LocalDate
val start = LocalDate.of(2020,1,1).toEpochDay
val end = LocalDate.of(2020,12,31).toEpochDay
val dates = (start to end).map(LocalDate.ofEpochDay(_).toString).toArray
你最终得到:
dates: Array[String] = Array(2020-01-01, 2020-01-02, ..., 2020-12-31)
关于scala - 查找两个日期 scala 之间的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61076365/