5
這裏的一天,開始結束合併的日期時間範圍是我的輸入數據在第二天
case class DateRange(sd:DateTime,ed:DateTime)
val sd1 = DateTime.parse("2016-04-04T20:00:00.000Z")
val ed1 = DateTime.parse("2016-04-04T23:59:59.999Z")
val sd2 = DateTime.parse("2016-04-05T00:00:00.000Z")
val ed2 = DateTime.parse("2016-04-05T05:00:00.000Z")
val sd3 = DateTime.parse("2016-04-05T20:00:00.000Z")
val ed3 = DateTime.parse("2016-04-05T23:59:59.999Z")
val sd4 = DateTime.parse("2016-04-06T00:00:00.000Z")
val ed4 = DateTime.parse("2016-04-06T05:00:00.000Z")
val sd5 = DateTime.parse("2016-04-07T10:00:00.000Z")
val ed5 = DateTime.parse("2016-04-07T15:00:00.000Z")
val drList = List(DateRange(sd1,ed1),DateRange(sd2,ed2),DateRange(sd3,ed3),DateRange(sd4,ed4),DateRange(sd5,ed5))
所需的輸出我找的是
val res = List(DateRange(sd1,ed2),DateRange(sd3,ed4),DateRange(sd5,ed5))
這裏ed1, ed3
被一天結束和sd1, sd3
是當天開始的相應日期。我想合併那種範圍,就像我們在上面所期望的輸出中看到的一樣。
我試圖劃分這樣
val result = drList.partition(x => x.sd.isEqual(x.sd.withTimeAtStartOfDay()) || x.ed.isEqual(x.ed.withTime(LocalTime.parse("23:59:59")))))
,但沒有得到如何合併的結果。提前致謝。