@@ -1638,6 +1638,8 @@ <h1>
1638
1638
1. Let _startEpochNs_ be GetUTCEpochNanoseconds(_startDateTime_ ).
1639
1639
1. Let _endEpochNs_ be GetUTCEpochNanoseconds(_endDateTime_ ).
1640
1640
1. Else,
1641
+ 1. Perform ? CheckISODaysRange(_startDateTime_ ).
1642
+ 1. Perform ? CheckISODaysRange(_endDateTime_ ).
1641
1643
1. Let _startEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _startDateTime_ , ~compatible~ ).
1642
1644
1. Let _endEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _endDateTime_ , ~compatible~ ).
1643
1645
1. If _sign_ is 1, then
@@ -1692,8 +1694,10 @@ <h1>
1692
1694
<emu-alg >
1693
1695
1. Let _start_ be ? CalendarDateAdd(_calendar_ , _isoDateTime_ .[[ISODate]], _duration_ .[[Date]], ~constrain~ ).
1694
1696
1. Let _startDateTime_ be CombineISODateAndTimeRecord(_start_ , _isoDateTime_ .[[Time]]).
1697
+ 1. Perform ? CheckISODaysRange(_startDateTime_ ).
1695
1698
1. Let _endDate_ be AddDaysToISODate(_start_ , _sign_ ).
1696
1699
1. Let _endDateTime_ be CombineISODateAndTimeRecord(_endDate_ , _isoDateTime_ .[[Time]]).
1700
+ 1. Perform ? CheckISODaysRange(_endDateTime_ ).
1697
1701
1. Let _startEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _startDateTime_ , ~compatible~ ).
1698
1702
1. Let _endEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _endDateTime_ , ~compatible~ ).
1699
1703
1. Let _daySpan_ be TimeDurationFromEpochNanosecondsDifference(_endEpochNs_ , _startEpochNs_ ).
@@ -1798,6 +1802,7 @@ <h1>
1798
1802
1. If _timeZone_ is ~unset~ , then
1799
1803
1. Let _endEpochNs_ be GetUTCEpochNanoseconds(_endDateTime_ ).
1800
1804
1. Else,
1805
+ 1. Perform ? CheckISODaysRange(_endDateTime_ ).
1801
1806
1. Let _endEpochNs_ be ? GetEpochNanosecondsFor(_timeZone_ , _endDateTime_ , ~compatible~ ).
1802
1807
1. Let _beyondEnd_ be _nudgedEpochNs_ - _endEpochNs_ .
1803
1808
1. If _beyondEnd_ < ; 0, let _beyondEndSign_ be -1; else if _beyondEnd_ > 0, let _beyondEndSign_ be 1; else let _beyondEndSign_ be 0.
0 commit comments