pipeline.domain.measures.TimeInterval

class TimeInterval(start: datetime | None = None, end: datetime | None = None)[source]

Bases: object

Logical representation of a time interval.

start

start time of interval, as datetime object.

end

end time of interval, as datetime object.

Methods

contains

Returns True if time is contained in this interval.

is_empty

Returns True if this TimeInterval is empty.

overlaps

Returns True if this interval overlaps with the given interval.

starting_from

Returns an open-ended TimeInterval starting from the given time.

starting_from_now

Returns an open-ended TimeInterval starting from now.

Attributes

start

end

FOREVER

__init__(start: datetime | None = None, end: datetime | None = None) None[source]

Initialize a TimeInterval object.

Parameters:
  • start -- start time of interval, as datetime object.

  • end -- end time of interval, as datetime object.

contains(time: datetime | TimeInterval) bool[source]

Returns True if time is contained in this interval.

Note that this interval is half-open; it does not include its ending point. Note also that an interval that is equal to this one is not contained by this one. The best analogy is that of a rigid box with infinitely thin walls: a box that is exactly the same as another cannot fit inside it.

Parameters:

time -- The datetime or TimeInterval to be tested for containment.

Returns:

True if time is contained in this interval.

is_empty() bool[source]

Returns True if this TimeInterval is empty.

overlaps(ti: TimeInterval) bool[source]

Returns True if this interval overlaps with the given interval.

Parameters:

ti -- TimeInterval object to test overlap with.

Returns:

Boolean denoting whether this time interval overlaps with given interval.

classmethod starting_from(start: datetime) TimeInterval[source]

Returns an open-ended TimeInterval starting from the given time.

Parameters:

start (object) -- Datetime object denoting start time of interval.

Returns:

TimeInterval object from given time until 31-12-9999.

classmethod starting_from_now() TimeInterval[source]

Returns an open-ended TimeInterval starting from now.

Returns:

TimeInterval object.