@@ -593,6 +593,11 @@ output.
593
593
If both are specified, a _Bad Option_ error MUST be emitted
594
594
and a _fallback value_ used as the _resolved value_ of the _expression_.
595
595
596
+ If the _operand_ of the _expression_ is an implementation-defined date/time type,
597
+ it can include _style options_, _field options_, or other option values.
598
+ These are included in the resolved option values of the _expression_,
599
+ with _options_ on the _expression_ taking priority over any option values of the _operand_.
600
+
596
601
> [!NOTE]
597
602
> The names of _options_ and their _values_ were derived from the
598
603
> [options](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions#description)
@@ -692,7 +697,15 @@ are encouraged to track development of these options during Tech Preview:
692
697
- valid [Unicode Number System Identifier](https://cldr-smoke.unicode.org/spec/main/ldml/tr35.html#UnicodeNumberSystemIdentifier)
693
698
- `timeZone` (default is system default time zone or UTC)
694
699
- valid identifier per [BCP175](https://www.rfc-editor.org/rfc/rfc6557)
695
-
700
+
701
+ #### Composition
702
+
703
+ When an _operand_ or an _option_ value uses a _variable_ annotated,
704
+ directly or indirectly, by a `:datetime` _annotation_,
705
+ its _resolved value_ contains an implementation-defined date/time value
706
+ of the _operand_ of the annotated _expression_,
707
+ together with the resolved options values.
708
+
696
709
### The `:date` function
697
710
698
711
The function `:date` is used to format the date portion of date/time values.
@@ -716,6 +729,19 @@ The function `:date` has these _options_:
716
729
- `medium` (default)
717
730
- `short`
718
731
732
+ If the _operand_ of the _expression_ is an implementation-defined date/time type,
733
+ it can include other option values.
734
+ Any _operand_ option values matching the `:datetime` _style options_ or _field options_ are ignored,
735
+ as is any `style` option.
736
+
737
+ #### Composition
738
+
739
+ When an _operand_ or an _option_ value uses a _variable_ annotated,
740
+ directly or indirectly, by a `:date` _annotation_,
741
+ its _resolved value_ is implementation-defined.
742
+ An implementation MAY emit a _Bad Operand_ or _Bad Option_ error (as appropriate)
743
+ when this happens.
744
+
719
745
### The `:time` function
720
746
721
747
The function `:time` is used to format the time portion of date/time values.
@@ -739,6 +765,18 @@ The function `:time` has these _options_:
739
765
- `medium`
740
766
- `short` (default)
741
767
768
+ If the _operand_ of the _expression_ is an implementation-defined date/time type,
769
+ it can include other option values.
770
+ Any _operand_ option values matching the `:datetime` _style options_ or _field options_ are ignored,
771
+ as is any `style` option.
772
+
773
+ #### Composition
774
+
775
+ When an _operand_ or an _option_ value uses a _variable_ annotated,
776
+ directly or indirectly, by a `:time` _annotation_,
777
+ its _resolved value_ is implementation-defined.
778
+ An implementation MAY emit a _Bad Operand_ or _Bad Option_ error (as appropriate)
779
+ when this happens.
742
780
743
781
### Date and Time Operands
744
782
@@ -788,5 +826,3 @@ For more information, see [Working with Timezones](https://w3c.github.io/timezon
788
826
> The form of these serializations is known and is a de facto standard.
789
827
> Support for these extensions is expected to be required in the post-tech preview.
790
828
> See: https://datatracker.ietf.org/doc/draft-ietf-sedate-datetime-extended/
791
-
792
-
0 commit comments