@@ -1622,6 +1622,8 @@ <h1>
1622
1622
1. Let _startEpochNs_ be GetUTCEpochNanoseconds(_startDateTime_ ).
1623
1623
1. Let _endEpochNs_ be GetUTCEpochNanoseconds(_endDateTime_ ).
1624
1624
1. Else,
1625
+ 1. Perform ? CheckISODaysRange(_startDateTime_ ).
1626
+ 1. Perform ? CheckISODaysRange(_endDateTime_ ).
1625
1627
1. Let _startEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _startDateTime_ , ~compatible~ ).
1626
1628
1. Let _endEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _endDateTime_ , ~compatible~ ).
1627
1629
1. If _sign_ is 1, then
@@ -1676,8 +1678,10 @@ <h1>
1676
1678
<emu-alg >
1677
1679
1. Let _start_ be ? CalendarDateAdd(_calendar_ , _isoDateTime_ .[[ISODate]], _duration_ .[[Date]], ~constrain~ ).
1678
1680
1. Let _startDateTime_ be CombineISODateAndTimeRecord(_start_ , _isoDateTime_ .[[Time]]).
1681
+ 1. Perform ? CheckISODaysRange(_startDateTime_ ).
1679
1682
1. Let _endDate_ be AddDaysToISODate(_start_ , _sign_ ).
1680
1683
1. Let _endDateTime_ be CombineISODateAndTimeRecord(_endDate_ , _isoDateTime_ .[[Time]]).
1684
+ 1. Perform ? CheckISODaysRange(_endDateTime_ ).
1681
1685
1. Let _startEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _startDateTime_ , ~compatible~ ).
1682
1686
1. Let _endEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _endDateTime_ , ~compatible~ ).
1683
1687
1. Let _daySpan_ be TimeDurationFromEpochNanosecondsDifference(_endEpochNs_ , _startEpochNs_ ).
@@ -1782,6 +1786,7 @@ <h1>
1782
1786
1. If _timeZone_ is ~unset~ , then
1783
1787
1. Let _endEpochNs_ be GetUTCEpochNanoseconds(_endDateTime_ ).
1784
1788
1. Else,
1789
+ 1. Perform ? CheckISODaysRange(_endDateTime_ ).
1785
1790
1. Let _endEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _endDateTime_ , ~compatible~ ).
1786
1791
1. Let _beyondEnd_ be _nudgedEpochNs_ - _endEpochNs_ .
1787
1792
1. If _beyondEnd_ < ; 0, let _beyondEndSign_ be -1; else if _beyondEnd_ > 0, let _beyondEndSign_ be 1; else let _beyondEndSign_ be 0.
0 commit comments