@@ -531,7 +531,7 @@ <h1>Temporal.ZonedDateTime.prototype.with ( _temporalZonedDateTimeLike_ [ , _opt
531
531
1. Let _overflow_ be ? GetTemporalOverflowOption(_resolvedOptions_ ).
532
532
1. Let _dateTimeResult_ be ? InterpretTemporalDateTimeFields(_calendar_ , _fields_ , _overflow_ ).
533
533
1. Let _newOffsetNanoseconds_ be ! ParseDateTimeUTCOffset(_fields_ .[[OffsetString]]).
534
- 1. Let _epochNanoseconds_ be ? InterpretISODateTimeOffset(_dateTimeResult_ .[[ISODate]], _dateTimeResult_ .[[Time]] , ~option~ , _newOffsetNanoseconds_ , _timeZone_ , _disambiguation_ , _offset_ , ~match-exactly~ ).
534
+ 1. Let _epochNanoseconds_ be ? InterpretISODateTimeOffset(_dateTimeResult_ , ~option~ , _newOffsetNanoseconds_ , _timeZone_ , _disambiguation_ , _offset_ , ~match-exactly~ ).
535
535
1. Return ! CreateTemporalZonedDateTime(_epochNanoseconds_ , _timeZone_ , _calendar_ ).
536
536
</emu-alg >
537
537
</emu-clause >
@@ -663,7 +663,7 @@ <h1>Temporal.ZonedDateTime.prototype.round ( _roundTo_ )</h1>
663
663
1. Else,
664
664
1. Let _roundResult_ be RoundISODateTime(_isoDateTime_ , _roundingIncrement_ , _smallestUnit_ , _roundingMode_ ).
665
665
1. Let _offsetNanoseconds_ be GetOffsetNanosecondsFor(_timeZone_ , _thisNs_ ).
666
- 1. Let _epochNanoseconds_ be ? InterpretISODateTimeOffset(_roundResult_ .[[ISODate]], _roundResult_ .[[Time]] , ~option~ , _offsetNanoseconds_ , _timeZone_ , ~compatible~ , ~prefer~ , ~match-exactly~ ).
666
+ 1. Let _epochNanoseconds_ be ? InterpretISODateTimeOffset(_roundResult_ , ~option~ , _offsetNanoseconds_ , _timeZone_ , ~compatible~ , ~prefer~ , ~match-exactly~ ).
667
667
1. Return ! CreateTemporalZonedDateTime(_epochNanoseconds_ , _timeZone_ , _calendar_ ).
668
668
</emu-alg >
669
669
</emu-clause >
@@ -883,8 +883,7 @@ <h1>Abstract Operations</h1>
883
883
<emu-clause id =" sec-temporal-interpretisodatetimeoffset" type =" abstract operation" >
884
884
<h1 >
885
885
InterpretISODateTimeOffset (
886
- _isoDate_ : an ISO Date Record,
887
- _time_ : a Time Record or ~start-of-day~ ,
886
+ _isoDateTime_ : an ISO Date-Time Record,
888
887
_offsetBehaviour_ : ~option~ , ~exact~ , or ~wall~ ,
889
888
_offsetNanoseconds_ : an integer,
890
889
_timeZone_ : an available time zone identifier,
@@ -907,12 +906,7 @@ <h1>
907
906
</dd >
908
907
</dl >
909
908
<emu-alg >
910
- 1. Perform ? CheckISODaysRange(_isoDate_ ).
911
- 1. If _time_ is ~start-of-day~ , then
912
- 1. Assert: _offsetBehaviour_ is ~wall~ .
913
- 1. Assert: _offsetNanoseconds_ is 0.
914
- 1. Return ? GetStartOfDay(_timeZone_ , _isoDate_ ).
915
- 1. Let _isoDateTime_ be CombineISODateAndTimeRecord(_isoDate_ , _time_ ).
909
+ 1. Perform ? CheckISODaysRange(_isoDateTime_ .[[ISODate]]).
916
910
1. If _offsetBehaviour_ is ~wall~ , or _offsetBehaviour_ is ~option~ and _offsetOption_ is ~ignore~ , then
917
911
1. Return ? GetEpochNanosecondsFor(_timeZone_ , _isoDateTime_ , _disambiguation_ ).
918
912
1. If _offsetBehaviour_ is ~exact~ , or _offsetBehaviour_ is ~option~ and _offsetOption_ is ~use~ , then
971
965
1. Let _disambiguation_ be ? GetTemporalDisambiguationOption(_resolvedOptions_ ).
972
966
1. Let _offsetOption_ be ? GetTemporalOffsetOption(_resolvedOptions_ , ~reject~ ).
973
967
1. Let _overflow_ be ? GetTemporalOverflowOption(_resolvedOptions_ ).
974
- 1. Let _result_ be ? InterpretTemporalDateTimeFields(_calendar_ , _fields_ , _overflow_ ).
975
- 1. Let _isoDate_ be _result_ .[[ISODate]].
976
- 1. Let _time_ be _result_ .[[Time]].
968
+ 1. Let _isoDateTime_ be ? InterpretTemporalDateTimeFields(_calendar_ , _fields_ , _overflow_ ).
977
969
1. Else,
978
970
1. If _item_ is not a String, throw a *TypeError* exception.
979
971
1. Let _result_ be ? ParseISODateTime(_item_ , « | TemporalDateTimeString [ +Zoned ] | »).
@@ -995,10 +987,14 @@ <h1>
995
987
1. Perform ? GetTemporalOverflowOption(_resolvedOptions_ ).
996
988
1. Let _isoDate_ be CreateISODateRecord(_result_ .[[Year]], _result_ .[[Month]], _result_ .[[Day]]).
997
989
1. Let _time_ be _result_ .[[Time]].
990
+ 1. If _time_ is ~start-of-day~ , then
991
+ 1. Assert: _offsetBehaviour_ is ~wall~ .
992
+ 1. Return ? GetStartOfDay(_timeZone_ , _isoDate_ ).
993
+ 1. Let _isoDateTime_ be CombineISODateAndTimeRecord(_isoDate_ , _time_ ).
998
994
1. Let _offsetNanoseconds_ be 0.
999
995
1. If _offsetBehaviour_ is ~option~ , then
1000
996
1. Set _offsetNanoseconds_ to ! ParseDateTimeUTCOffset(_offsetString_ ).
1001
- 1. Let _epochNanoseconds_ be ? InterpretISODateTimeOffset(_isoDate_ , _time_ , _offsetBehaviour_ , _offsetNanoseconds_ , _timeZone_ , _disambiguation_ , _offsetOption_ , _matchBehaviour_ ).
997
+ 1. Let _epochNanoseconds_ be ? InterpretISODateTimeOffset(_isoDateTime_ , _offsetBehaviour_ , _offsetNanoseconds_ , _timeZone_ , _disambiguation_ , _offsetOption_ , _matchBehaviour_ ).
1002
998
1. Return ! CreateTemporalZonedDateTime(_epochNanoseconds_ , _timeZone_ , _calendar_ ).
1003
999
</emu-alg >
1004
1000
</emu-clause >
0 commit comments