Scala 如何生成唯一的日期范围

Scala 如何生成唯一的日期范围,scala,Scala,我想在当前日期之间生成唯一的日期范围,比如说2050年 val start_date = "2017-03-21" val end_date = "2050-03-21" 不确定如何为它创建函数。请在此输入任何信息。开始日期和结束日期之间的差异可以是任何东西 唯一的日期范围意味着函数永远不会返回它已经返回的日期范围 我想到了这个解决方案: val start_date = "2017-03-21" val end_date = "2050-03-21" while(start_date=

我想在当前日期之间生成唯一的日期范围,比如说2050年

val start_date = "2017-03-21"
val end_date = "2050-03-21"
不确定如何为它创建函数。请在此输入任何信息。开始日期和结束日期之间的差异可以是任何东西

唯一的日期范围意味着函数永远不会返回它已经返回的日期范围

我想到了这个解决方案:

val start_date = "2017-03-21"

val end_date = "2050-03-21"


while(start_date= "2017-03-21")
{
end_date = start_date+1
return( start_date, end_date)

}

start_date=start_date+1 

我们将使用
java.time.LocalDate
temporal.ChronoUnit
导入来实现这一点:

scala> import java.time.LocalDate
import java.time.LocalDate

scala> import java.time.temporal.ChronoUnit
import java.time.temporal.ChronoUnit

scala> val startDate = LocalDate.parse("2017-03-21")
startDate: java.time.LocalDate = 2017-03-21

scala> val endDate = LocalDate.parse("2050-03-21")
endDate: java.time.LocalDate = 2050-03-21

scala> val dateAmount = 5
dateAmount: Int = 5

scala> val randomDates = List.fill(dateAmount) {
  val randomAmt = ChronoUnit.DAYS.between(startDate, endDate) * math.random() // used to generate a random amount of days within given limits
  startDate.plusDays(randomAmt.toInt) // returns a date from that random amount, will not go beyond endDate
}
randomDates: List[java.time.LocalDate] = List(2049-03-16, 2025-12-30, 2042-04-20, 2027-03-14, 2031-03-15)

你的目标是什么还不清楚。你说的“独一无二”是什么意思?预期产量是多少?告诉我们你被困在哪里。更新了一些信息。我得到的错误是“类型不匹配,预期时间,实际:LocalDate”,我不确定为什么会抛出该错误。代码段中唯一接受时态作为参数的方法是between方法(ChronoUnit.DAYS.between(Temporal-temporal1Inclusive,Temporal-temporal2Exclusive))。LocalDate实现了时态接口,因此它应该可以工作。上面的代码是从REPL粘贴的,所以对我来说编译得很好。如果这很重要的话,我将使用Java版本8。