Check if this time is included in this period.
Check if this time is included in this period.
case class MyPeriod(from: EpochDateTime, to: EpochDateTime) extends FromTo val period = MyPeriod("2019-08-01 00:00:00", "2019-08-01 11:59:59") period.contains("2019-07-31 23:59:59") // be false period.contains("2019-08-01 00:00:00") // be true period.contains("2019-08-01 11:59:59") // be true period.contains("2019-08-01 12:00:00") // be false
特定の時間
Determine if two periods overlap.
Determine if two periods overlap.
case class MyPeriod(from: EpochDateTime, to: EpochDateTime) extends FromTo val period = MyPeriod("2019-08-01 00:00:00", "2019-08-01 11:59:59") period.overlap(MyPeriod("2019-07-31 00:00:00", "2019-07-31 23:59:59")) // be false period.overlap(MyPeriod("2019-07-31 00:00:00", "2019-08-01 00:00:00")) // be true
Another period.
Breaks down the period in arbitrary units.
Breaks down the period in arbitrary units.
case class MyPeriod(from: EpochDateTime, to: EpochDateTime) extends FromTo MyPeriod("2019-08-01".datetime.epoch, "2019-08-03 23:59:59".datetime.epoch).slice(12, HOUR)(MyPeriod) == Seq( MyPeriod("2019-08-01 00:00:00", "2019-08-01 11:59:59"), MyPeriod("2019-08-01 12:00:00", "2019-08-01 23:59:59"), MyPeriod("2019-08-02 00:00:00", "2019-08-02 11:59:59"), MyPeriod("2019-08-02 12:00:00", "2019-08-02 23:59:59"), MyPeriod("2019-08-03 00:00:00", "2019-08-03 11:59:59"), MyPeriod("2019-08-03 12:00:00", "2019-08-03 23:59:59") )
Unit to increments
period type
Size to slice
Unit to slice
Recursively decomposed period
Interface representing period.