Search
View source code
Display the source code in std/datetime/interval.d from which this page was generated on github.
Report a bug
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

# Struct `std.datetime.interval.Interval`

Represents an interval of time.

``` struct Interval(TP) ; ```

An `Interval` has a starting point and an end point. The interval of time is therefore the time starting at the starting point up to, but not including, the end point. e.g.

 [January 5th, 2010 - March 10th, 2010) [05:00:30 - 12:00:00) [1982-01-04T08:59:00 - 2010-07-04T12:00:00)

A range can be obtained from an `Interval`, allowing iteration over that interval, with the exact time points which are iterated over depending on the function which generates the range.

NameDescription
`this`
`this`

## Properties

NameTypeDescription
`begin`[get] `TP`The starting point of the interval. It is included in the interval.
`begin`[set] `TP`The starting point of the interval. It is included in the interval.
`empty`[get] `bool`Whether the interval's length is 0, that is, whether `begin == end`.
`end`[get] `TP`The end point of the interval. It is excluded from the interval.
`end`[set] `TP`The end point of the interval. It is excluded from the interval.
`length`[get] `auto`Returns the duration between `begin` and `end`.

## Methods

NameDescription
`bwdRange` Returns a range which iterates backwards over the interval, starting at `end`, using func to generate each successive time point.
`contains` Whether the given time point is within this interval.
`contains` Whether the given interval is completely within this interval.
`contains` Whether the given interval is completely within this interval.
`contains` Whether the given interval is completely within this interval.
`expand` Expands the interval forwards and/or backwards in time. Effectively, it does `begin -= duration` and/or `end += duration`. Whether it expands forwards and/or backwards in time is determined by dir.
`expand` Expands the interval forwards and/or backwards in time. Effectively, it subtracts the given number of months/years from `begin` and adds them to `end`. Whether it expands forwards and/or backwards in time is determined by dir.
`fwdRange` Returns a range which iterates forward over the interval, starting at `begin`, using func to generate each successive time point.
`intersection` Returns the intersection of two intervals
`intersection` Returns the intersection of two intervals
`intersection` Returns the intersection of two intervals
`intersects` Whether the given interval overlaps this interval.
`intersects` Whether the given interval overlaps this interval.
`intersects` Whether the given interval overlaps this interval.
`isAdjacent` Whether the given interval is adjacent to this interval.
`isAdjacent` Whether the given interval is adjacent to this interval.
`isAdjacent` Whether the given interval is adjacent to this interval.
`isAfter` Whether this interval is after the given time point.
`isAfter` Whether this interval is after the given interval and does not intersect it.
`isAfter` Whether this interval is after the given interval and does not intersect it.
`isAfter` Whether this interval is after the given interval and does not intersect it.
`isBefore` Whether this interval is before the given time point.
`isBefore` Whether this interval is before the given interval and does not intersect with it.
`isBefore` Whether this interval is before the given interval and does not intersect with it.
`isBefore` Whether this interval is before the given interval and does not intersect with it.
`merge` Returns the union of two intervals
`merge` Returns the union of two intervals
`merge` Returns the union of two intervals
`opAssign`
`shift` Shifts the interval forward or backwards in time by the given duration (a positive duration shifts the interval forward; a negative duration shifts it backward). Effectively, it does `begin += duration` and `end += duration`.
`shift` Shifts the interval forward or backwards in time by the given number of years and/or months (a positive number of years and months shifts the interval forward; a negative number shifts it backward). It adds the years the given years and months to both begin and end. It effectively calls `add!"years"()` and then `add!"months"()` on begin and end with the given number of years and months.
`span` Returns an interval that covers from the earliest time point of two intervals up to (but not including) the latest time point of two intervals.
`span` Returns an interval that covers from the earliest time point of two intervals up to (but not including) the latest time point of two intervals.
`span` Returns an interval that covers from the earliest time point of two intervals up to (but not including) the latest time point of two intervals.
`toString` Converts this interval to a string.