luxon
Version:
Immutable date wrapper
1,405 lines (932 loc) • 105 kB
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<base data-ice="baseUrl" href="../../">
<title data-ice="title">Luxon</title>
<link type="text/css" rel="stylesheet" href="css/style.css">
<link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
<script src="script/prettify/prettify.js"></script>
<script src="script/manual.js"></script>
<link data-ice="userStyle" rel="stylesheet" href="user/css/0-styles.css">
</head>
<body class="layout-container" data-ice="rootContainer">
<header><span class="luxon-title">Luxon</span>
<a href="./">Home</a>
<a href="identifiers.html">Reference</a>
<a href="source.html">Source</a>
<a data-ice="repoURL" href="https://github.com/icambron/luxon" class="repo-url-github">Repository</a>
<div class="search-box">
<span>
<img src="./image/search.png">
<span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
</span>
<ul class="search-result"></ul>
</div>
</header>
<nav class="navigation" data-ice="nav"><div>
<ul>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/duration.js~Duration.html">Duration</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/info.js~Info.html">Info</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/interval.js~Interval.html">Interval</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/settings.js~Settings.html">Settings</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/zone.js~Zone.html">Zone</a></span></span></li>
</ul>
</div>
</nav>
<div class="content" data-ice="content"><div class="header-notice">
<div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {Interval} from '<span><a href="file/src/interval.js.html#lineNumber25">luxon/src/interval.js</a></span>'</code></pre></div>
<span data-ice="access">public</span>
<span data-ice="kind">class</span>
<span data-ice="source">| <span><a href="file/src/interval.js.html#lineNumber25">source</a></span></span>
</div>
<div class="self-detail detail">
<h1 data-ice="name">Interval</h1>
<div class="description" data-ice="description"><p>An Interval object represents a half-open interval of time, where each endpoint is a <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span>. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.</p>
<p>Here is a brief overview of the most commonly used methods and getters in Interval:</p>
<ul>
<li><strong>Creation</strong> To create an Interval, use <span><a href="class/src/interval.js~Interval.html#static-method-fromDateTimes">fromDateTimes</a></span>, <span><a href="class/src/interval.js~Interval.html#static-method-after">after</a></span>, <span><a href="class/src/interval.js~Interval.html#static-method-before">before</a></span>, or <span><a href="class/src/datetime.js~DateTime.html#static-method-fromISO">fromISO</a></span>.</li>
<li><strong>Accessors</strong> Use <span><a href="class/src/interval.js~Interval.html#instance-get-start">start</a></span> and <span><a href="class/src/interval.js~Interval.html#instance-get-end">end</a></span> to get the start and end.</li>
<li><strong>Interogation</strong> To analyze the Interval, use <span><a href="class/src/interval.js~Interval.html#instance-method-count">count</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-length">length</a></span>, <span><a href="class/src/datetime.js~DateTime.html#instance-method-hasSame">hasSame</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-contains">contains</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-isAfter">isAfter</a></span>, or <span><a href="class/src/interval.js~Interval.html#instance-method-isBefore">isBefore</a></span>.</li>
<li><strong>Transformation</strong> To create other Intervals out of this one, use <span><a href="class/src/datetime.js~DateTime.html#instance-method-set">set</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-splitAt">splitAt</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-splitBy">splitBy</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-divideEqually">divideEqually</a></span>, <span><a href="class/src/interval.js~Interval.html#static-method-merge">merge</a></span>, <span><a href="class/src/interval.js~Interval.html#static-method-xor">xor</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-union">union</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-intersection">intersection</a></span>, or <span><a href="class/src/interval.js~Interval.html#instance-method-difference">difference</a></span>.</li>
<li><strong>Comparison</strong> To compare this Interval to another one, use <span><a href="class/src/datetime.js~DateTime.html#instance-method-equals">equals</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-overlaps">overlaps</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-abutsStart">abutsStart</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-abutsEnd">abutsEnd</a></span>, <span><a href="class/src/interval.js~Interval.html#instance-method-engulfs">engulfs</a></span></li>
<li><strong>Output*</strong> To convert the Interval into other representations, see <span><a href="class/src/datetime.js~DateTime.html#instance-method-toString">toString</a></span>, <span><a href="class/src/datetime.js~DateTime.html#instance-method-toISO">toISO</a></span>, <span><a href="class/src/datetime.js~DateTime.html#instance-method-toFormat">toFormat</a></span>, and <span><a href="class/src/interval.js~Interval.html#instance-method-toDuration">toDuration</a></span>.</li>
</ul>
</div>
</div>
<div data-ice="staticMethodSummary"><h2>Static Method Summary</h2><table class="summary" data-ice="summary">
<thead><tr><td data-ice="title" colspan="3">Static Public Methods</td></tr></thead>
<tbody>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#static-method-after">after</a></span></span><span data-ice="signature">(start: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>, duration: <span><a href="class/src/duration.js~Duration.html">Duration</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Create an Interval from a start DateTime and a Duration to extend to.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#static-method-before">before</a></span></span><span data-ice="signature">(end: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>, duration: <span><a href="class/src/duration.js~Duration.html">Duration</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Create an Interval from an end DateTime and a Duration to extend backwards to.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#static-method-fromDateTimes">fromDateTimes</a></span></span><span data-ice="signature">(start: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>, end: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Create an Interval from a start DateTime and an end DateTime.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#static-method-fromISO">fromISO</a></span></span><span data-ice="signature">(string: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span>, opts: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Create an Interval from an ISO 8601 string</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#static-method-invalid">invalid</a></span></span><span data-ice="signature">(reason: <span>*</span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Create an invalid Interval.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#static-method-merge">merge</a></span></span><span data-ice="signature">(intervals: <span>[Interval]</span>): <span>[Interval]</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Merge an array of Intervals into a equivalent minimal set of Intervals.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#static-method-xor">xor</a></span></span><span data-ice="signature">(intervals: <span>[Interval]</span>): <span>[Interval]</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div data-ice="memberSummary"><h2>Member Summary</h2><table class="summary" data-ice="summary">
<thead><tr><td data-ice="title" colspan="3">Public Members</td></tr></thead>
<tbody>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="kind" data-ice="kind">get</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-get-end">end</a></span></span><span data-ice="signature">: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span>: <span>*</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns the end of the Interval</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="kind" data-ice="kind">get</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-get-invalidReason">invalidReason</a></span></span><span data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span>: <span>*</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns an explanation of why this Interval became invalid, or null if the Interval is valid</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="kind" data-ice="kind">get</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-get-isValid">isValid</a></span></span><span data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span>: <span>*</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns whether this Interval's end is at least its start, i.e. that the Interval isn't 'backwards'.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="kind" data-ice="kind">get</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-get-start">start</a></span></span><span data-ice="signature">: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span>: <span>*</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns the start of the Interval</p>
</div>
</div>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div data-ice="methodSummary"><h2>Method Summary</h2><table class="summary" data-ice="summary">
<thead><tr><td data-ice="title" colspan="3">Public Methods</td></tr></thead>
<tbody>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-abutsEnd">abutsEnd</a></span></span><span data-ice="signature">(other: <span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return whether this Interval's start is adjacent to the specified Interval's end.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-abutsStart">abutsStart</a></span></span><span data-ice="signature">(other: <span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return whether this Interval's end is adjacent to the specified Interval's start.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-contains">contains</a></span></span><span data-ice="signature">(dateTime: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return this Interval contains the specified DateTime.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-count">count</a></span></span><span data-ice="signature">(unit: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-difference">difference</a></span></span><span data-ice="signature">(intervals: ...<span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-divideEqually">divideEqually</a></span></span><span data-ice="signature">(numberOfParts: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span>): <span>[Interval]</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Split this Interval into the specified number of smaller intervals.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-engulfs">engulfs</a></span></span><span data-ice="signature">(other: <span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return whether this Interval engulfs the start and end of the specified Interval.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-equals">equals</a></span></span><span data-ice="signature">(other: <span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return whether this Interval has the same start and end as the specified Interval.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-hasSame">hasSame</a></span></span><span data-ice="signature">(unit: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns whether this Interval's start and end are both in the same unit of time</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-intersection">intersection</a></span></span><span data-ice="signature">(other: <span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return an Interval representing the intersection of this Interval and the specified Interval.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-isAfter">isAfter</a></span></span><span data-ice="signature">(dateTime: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return this Interval's start is after the specified DateTime.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-isBefore">isBefore</a></span></span><span data-ice="signature">(dateTime: <span>Datetime</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return this Interval's end is before the specified DateTime.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-isEmpty">isEmpty</a></span></span><span data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return whether this Interval has the same start and end DateTimes.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-length">length</a></span></span><span data-ice="signature">(unit: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns the length of the Interval in the specified unit.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-overlaps">overlaps</a></span></span><span data-ice="signature">(other: <span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return whether this Interval overlaps with the specified Interval</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-set">set</a></span></span><span data-ice="signature">(values: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>"Sets" the start and/or end dates.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-splitAt">splitAt</a></span></span><span data-ice="signature">(dateTimes: ...<span>DateTimes</span>): <span>[Interval]</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Split this Interval at each of the specified DateTimes</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-splitBy">splitBy</a></span></span><span data-ice="signature">(duration: <span><a href="class/src/duration.js~Duration.html">Duration</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span>[Interval]</span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Split this Interval into smaller Intervals, each of the specified length.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-toDuration">toDuration</a></span></span><span data-ice="signature">(unit: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span> | <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span><span>[]</span></span>, opts: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>): <span><a href="class/src/duration.js~Duration.html">Duration</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return a Duration representing the time spanned by this interval.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-toFormat">toFormat</a></span></span><span data-ice="signature">(dateFormat: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span>, opts: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns a string representation of this Interval formatted according to the specified format string.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-toISO">toISO</a></span></span><span data-ice="signature">(opts: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns an ISO 8601-compliant string representation of this Interval.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-toString">toString</a></span></span><span data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Returns a string representation of this Interval appropriate for debugging.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
<tr data-ice="target">
<td>
<span class="access" data-ice="access">public</span>
<span class="override" data-ice="override"></span>
</td>
<td>
<div>
<p>
<span data-ice="name"><span><a href="class/src/interval.js~Interval.html#instance-method-union">union</a></span></span><span data-ice="signature">(other: <span><a href="class/src/interval.js~Interval.html">Interval</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
</p>
</div>
<div>
<div data-ice="description"><p>Return an Interval representing the union of this Interval and the specified Interval.</p>
</div>
</div>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div data-ice="staticMethodDetails"><h2 data-ice="title">Static Public Methods</h2>
<div class="detail" data-ice="detail">
<h3 data-ice="anchor" id="static-method-after">
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span data-ice="name">after</span><span data-ice="signature">(start: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>, duration: <span><a href="class/src/duration.js~Duration.html">Duration</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
<span class="right-info">
<span data-ice="source"><span><a href="file/src/interval.js.html#lineNumber76">source</a></span></span>
</span>
</h3>
<div data-ice="description"><p>Create an Interval from a start DateTime and a Duration to extend to.</p>
</div>
<div data-ice="properties"><div data-ice="properties">
<h4 data-ice="title">Params:</h4>
<table class="params">
<thead>
<tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
</thead>
<tbody>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">start</td>
<td data-ice="type"><span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"></td>
</tr>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">duration</td>
<td data-ice="type"><span><a href="class/src/duration.js~Duration.html">Duration</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"><p>the length of the Interval.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="return-params" data-ice="returnParams">
<h4>Return:</h4>
<table>
<tbody>
<tr>
<td class="return-type" data-ice="returnType"><span><a href="class/src/interval.js~Interval.html">Interval</a></span></td>
</tr>
</tbody>
</table>
<div data-ice="returnProperties">
</div>
</div>
</div>
<div class="detail" data-ice="detail">
<h3 data-ice="anchor" id="static-method-before">
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span data-ice="name">before</span><span data-ice="signature">(end: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>, duration: <span><a href="class/src/duration.js~Duration.html">Duration</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
<span class="right-info">
<span data-ice="source"><span><a href="file/src/interval.js.html#lineNumber88">source</a></span></span>
</span>
</h3>
<div data-ice="description"><p>Create an Interval from an end DateTime and a Duration to extend backwards to.</p>
</div>
<div data-ice="properties"><div data-ice="properties">
<h4 data-ice="title">Params:</h4>
<table class="params">
<thead>
<tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
</thead>
<tbody>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">end</td>
<td data-ice="type"><span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"></td>
</tr>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">duration</td>
<td data-ice="type"><span><a href="class/src/duration.js~Duration.html">Duration</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"><p>the length of the Interval.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="return-params" data-ice="returnParams">
<h4>Return:</h4>
<table>
<tbody>
<tr>
<td class="return-type" data-ice="returnType"><span><a href="class/src/interval.js~Interval.html">Interval</a></span></td>
</tr>
</tbody>
</table>
<div data-ice="returnProperties">
</div>
</div>
</div>
<div class="detail" data-ice="detail">
<h3 data-ice="anchor" id="static-method-fromDateTimes">
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span data-ice="name">fromDateTimes</span><span data-ice="signature">(start: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>, end: <span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
<span class="right-info">
<span data-ice="source"><span><a href="file/src/interval.js.html#lineNumber59">source</a></span></span>
</span>
</h3>
<div data-ice="description"><p>Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.</p>
</div>
<div data-ice="properties"><div data-ice="properties">
<h4 data-ice="title">Params:</h4>
<table class="params">
<thead>
<tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
</thead>
<tbody>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">start</td>
<td data-ice="type"><span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"></td>
</tr>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">end</td>
<td data-ice="type"><span><a href="class/src/datetime.js~DateTime.html">DateTime</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="return-params" data-ice="returnParams">
<h4>Return:</h4>
<table>
<tbody>
<tr>
<td class="return-type" data-ice="returnType"><span><a href="class/src/interval.js~Interval.html">Interval</a></span></td>
</tr>
</tbody>
</table>
<div data-ice="returnProperties">
</div>
</div>
</div>
<div class="detail" data-ice="detail">
<h3 data-ice="anchor" id="static-method-fromISO">
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span data-ice="name">fromISO</span><span data-ice="signature">(string: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span>, opts: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
<span class="right-info">
<span data-ice="source"><span><a href="file/src/interval.js.html#lineNumber100">source</a></span></span>
</span>
</h3>
<div data-ice="description"><p>Create an Interval from an ISO 8601 string</p>
</div>
<div data-ice="properties"><div data-ice="properties">
<h4 data-ice="title">Params:</h4>
<table class="params">
<thead>
<tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
</thead>
<tbody>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">string</td>
<td data-ice="type"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"><p>the ISO string to parse</p>
</td>
</tr>
<tr data-ice="property" data-depth="0">
<td data-ice="name" data-depth="0">opts</td>
<td data-ice="type"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span></td>
<td data-ice="appendix"></td>
<td data-ice="description"><p>options to pass {@see DateTime.fromISO}</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="return-params" data-ice="returnParams">
<h4>Return:</h4>
<table>
<tbody>
<tr>
<td class="return-type" data-ice="returnType"><span><a href="class/src/interval.js~Interval.html">Interval</a></span></td>
</tr>
</tbody>
</table>
<div data-ice="returnProperties">
</div>
</div>
</div>
<div class="detail" data-ice="detail">
<h3 data-ice="anchor" id="static-method-invalid">
<span class="access" data-ice="access">public</span>
<span data-ice="static">static</span>
<span data-ice="name">invalid</span><span data-ice="signature">(reason: <span>*</span>): <span><a href="class/src/interval.js~Interval.html">Interval</a></span></span>
<span class="right-info">
<span data-ice="source"><span><a href="file/src/interval.js.html#lineNumber42">source</a></span></span>