我有一个我想忽略的日期列表:
private val excludeDates = List(
new DateTime("2015-07-17"),
new DateTime("2015-07-20"),
new DateTime("2015-07-23")
)
Run Code Online (Sandbox Code Playgroud)
但我总是需要显示四个日期,不包括我的黑色日期列表和周末.到目前为止,使用以下代码,当我点击一个被忽略的日期时,我的计数器会增加并且它会产生感觉.那么我怎么能跳到下一个日期,直到我在我的黑名单和我的周末中找到4个日期?也许有一段时间,但我不知道如何在我的scala代码中添加它:
1 to 4 map { endDate.minusDays(_)} diff excludeDates filter {
_.getDayOfWeek() match {
case DateTimeConstants.SUNDAY | DateTimeConstants.SATURDAY => false
case _ => true
}
}
Run Code Online (Sandbox Code Playgroud)
你可以使用Stream:
val blacklist = excludeDates.toSet
Stream.from(1)
.map(endDate.minusDays(_))
.filter(dt => ! blacklist.contains(dt))
.take(4)
.toList
Run Code Online (Sandbox Code Playgroud)