UNPKG

luxon

Version:
1,405 lines (932 loc) 105 kB
<!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 &apos;<span><a href="file/src/interval.js.html#lineNumber25">luxon/src/interval.js</a></span>&apos;</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&apos;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&apos;s end is at least its start, i.e. that the Interval isn&apos;t &apos;backwards&apos;.</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&apos;s start is adjacent to the specified Interval&apos;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&apos;s end is adjacent to the specified Interval&apos;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&apos;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&apos;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&apos;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&apos;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>&quot;Sets&quot; 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>