我有一个包含许多元素的列表,这些元素的格式设置为“本地日期时间”类型,如下所示。
List(2017-06-25T00:00, 2017-06-25T00:05:13, 2017-06-25T00:11:11, 2017-06-25T00:17:39, 2017-06-25T00:24:44, 2017-06-25T00:32:33, 2017-06-25T00:41:11, 2017-06-25T01:01:03)
Run Code Online (Sandbox Code Playgroud)
我想检查List的每个元素在下一个元素之前。例如,list的第一个值在list的第二个值之前。就像我一样,我想检查list内的整个元素。任何人都可以帮帮我。
这将测试List格式正确的日期字符串是否全部按时间顺序排列。
import java.time.LocalDateTime
val dates: List[String] = List( "2017-06-25T00:00"
, "2017-06-25T00:05:13"
// etc.
, "2017-06-25T01:01:03"
)
dates.iterator
.map(LocalDateTime.parse)
.sliding(2)
.forall(x => x(0) isBefore x(1)) // returns true/false
Run Code Online (Sandbox Code Playgroud)
将.iterator被包括在内,以便将日期字符串可以懒洋洋地解析,也就是说,如果第一次约会的一个是为了出去,然后在列表中的后续日期不必在所有被解析。