scala - 查找两个日期 scala 之间的日期

标签 scala scala-collections

我正在尝试提取两个日期之间的日期。

如果我的输入是:

  • 开始日期: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/

相关文章:

Scala - 不可变集合的 hashCode 缓存

Scala 3 宏 - 在运行时保留泛型

list - 将列表的元素与所有其他元素进行比较

file - 在 Scala 中查找与通配符字符串匹配的文件

scala - 如何使用 A 的值作为映射中的键将 Seq[A] 转换为 Map[Int, A]?

scala - 从Scala sbt任务中调用Clojure代码

scala - 如何在 Apache Spark 上的 Scala 中使用可变映射?找不到 key 错误

scala - 缩小、折叠或扫描(左/右)?

scala - Play 应用程序中的规范/scalatest 交互问题

java - 更改列表中元素的位置