| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.intl |
| |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div> |
| |
| |
| ## **PROTOCOLS** |
| |
| ## PropertyProvider {#PropertyProvider} |
| *Defined in [fuchsia.intl/property_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/property_provider.fidl;l=15)* |
| <p>Provides internationalization properties.</p> |
| <p>Components that need to change their behavior in response to the user's internationalization |
| profile may request an instance of this service from their namespace, if available. A component |
| may choose to pass along the service that it received from its parent to its own children, or to |
| override it and apply additional customizations.</p> |
| <p>See also <code>fuchsia.ui.views.View</code>.</p> |
| |
| |
| ### GetProfile {#PropertyProvider.GetProfile} |
| |
| <p>Gets the user's internationalization profile.</p> |
| |
| |
| |
| #### Request {#PropertyProvider.GetProfile_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#PropertyProvider.GetProfile_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>profile</code></td> |
| <td> |
| <code><a class='link' href='#Profile'>Profile</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### OnChange {#PropertyProvider.OnChange} |
| |
| <p>Indicates that the properties may have changed and the client should query them again.</p> |
| |
| |
| |
| |
| #### Response {#PropertyProvider.OnChange_Response} |
| |
| <EMPTY> |
| |
| ## TimeZones {#TimeZones} |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=65)* |
| <p>Provides information about time zones and offers date-time conversion methods.</p> |
| <p>TODO(fxbug.dev/81902): Add time zone info methods, including offsets from UTC.</p> |
| |
| |
| ### AbsoluteToCivilTime {#TimeZones.AbsoluteToCivilTime} |
| |
| <p>Converts the given absolute time to a civil date and time in the given time zone, using the |
| Gregorian calendar.</p> |
| |
| |
| |
| #### Request {#TimeZones.AbsoluteToCivilTime_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>time_zone_id</code></td> |
| <td> |
| <code><a class='link' href='#TimeZoneId'>TimeZoneId</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>absolute_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#TimeZones.AbsoluteToCivilTime_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#TimeZones_AbsoluteToCivilTime_Result'>TimeZones_AbsoluteToCivilTime_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### CivilToAbsoluteTime {#TimeZones.CivilToAbsoluteTime} |
| |
| <p>Converts the given civil date and time in the given time zone to nanoseconds since the Unix |
| epoch.</p> |
| |
| |
| |
| #### Request {#TimeZones.CivilToAbsoluteTime_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>civil_time</code></td> |
| <td> |
| <code><a class='link' href='#CivilTime'>CivilTime</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>options</code></td> |
| <td> |
| <code><a class='link' href='#CivilToAbsoluteTimeOptions'>CivilToAbsoluteTimeOptions</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#TimeZones.CivilToAbsoluteTime_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#TimeZones_CivilToAbsoluteTime_Result'>TimeZones_CivilToAbsoluteTime_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### GetTimeZoneInfo {#TimeZones.GetTimeZoneInfo} |
| |
| <p>Retrieves details about a time zone at a specified one.</p> |
| |
| |
| |
| #### Request {#TimeZones.GetTimeZoneInfo_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>time_zone_id</code></td> |
| <td> |
| <code><a class='link' href='#TimeZoneId'>TimeZoneId</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>at_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#TimeZones.GetTimeZoneInfo_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#TimeZones_GetTimeZoneInfo_Result'>TimeZones_GetTimeZoneInfo_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **STRUCTS** |
| |
| ### CalendarId {#CalendarId data-text="CalendarId"} |
| *Defined in [fuchsia.intl/intl.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/intl.fidl;l=38)* |
| <p>Typed identifier for a single calendar system. Currently consists only of a calendar ID.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="CalendarId.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>string</code> |
| </td> |
| <td><p>Unicode BCP-47 Locale Identifier with an undefined language tag and a single extension |
| specifying the calendar ID (from |
| https://unicode.org/repos/cldr/trunk/common/bcp47/calendar.xml).</p> |
| <p>Examples: |
| "und-u-ca-gregory" |
| "und-u-ca-islamic"</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### LocaleId {#LocaleId data-text="LocaleId"} |
| *Defined in [fuchsia.intl/intl.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/intl.fidl;l=17)* |
| <p>Typed identifier for a single Locale, which is a set of internationalization-related properties.</p> |
| <p>Most APIs that consume locales will probably want to accept a vector of locales to account for |
| priority.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="LocaleId.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>string</code> |
| </td> |
| <td><p>Unicode BCP-47 Locale Identifier |
| (http://www.unicode.org/reports/tr35/#BCP_47_Conformance).</p> |
| <p>Must be canonicalized and well-formed. This field should not be populated from arbitrary |
| user- or third-party input, but instead generated programmatically.</p> |
| <p>Includes language, region, script, and variant, plus Unicode extensions (under the "u" |
| singleton). Other extensions are allowed but ignored.</p> |
| <p>Examples: |
| "en-US" |
| American English |
| "fr-u-hc-h12" |
| French, with 12-hour clock |
| "ar-EG-u-fw-mon-nu-latn" |
| Egyptian Arabic with "Latin" numerals and first day of week on Monday</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### TimeZoneId {#TimeZoneId data-text="TimeZoneId"} |
| *Defined in [fuchsia.intl/intl.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/intl.fidl;l=53)* |
| <p>Typed identifier for a time zone.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="TimeZoneId.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>string</code> |
| </td> |
| <td><p>Time zone ID from tzdata, e.g. "America/New_York". See https://www.iana.org/time-zones.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### TimeZones_AbsoluteToCivilTime_Response {#TimeZones_AbsoluteToCivilTime_Response data-text="TimeZones_AbsoluteToCivilTime_Response"} |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=75)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="TimeZones_AbsoluteToCivilTime_Response.civil_time"> |
| <td><code>civil_time</code></td> |
| <td> |
| <code><a class='link' href='#CivilTime'>CivilTime</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### TimeZones_CivilToAbsoluteTime_Response {#TimeZones_CivilToAbsoluteTime_Response data-text="TimeZones_CivilToAbsoluteTime_Response"} |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=89)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="TimeZones_CivilToAbsoluteTime_Response.absolute_time"> |
| <td><code>absolute_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### TimeZones_GetTimeZoneInfo_Response {#TimeZones_GetTimeZoneInfo_Response data-text="TimeZones_GetTimeZoneInfo_Response"} |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=100)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="TimeZones_GetTimeZoneInfo_Response.time_zone_info"> |
| <td><code>time_zone_info</code></td> |
| <td> |
| <code><a class='link' href='#TimeZoneInfo'>TimeZoneInfo</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| |
| ## **ENUMS** |
| |
| ### DayOfWeek [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#DayOfWeek data-text="DayOfWeek"} |
| Type: <code>uint8</code> |
| |
| *Defined in [fuchsia.intl/calendar.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/calendar.fidl;l=8)* |
| <p>Enumeration of the days of the week.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="DayOfWeek.SUNDAY"> |
| <td><h3 id="DayOfWeek.SUNDAY" class="add-link hide-from-toc">SUNDAY</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="DayOfWeek.MONDAY"> |
| <td><h3 id="DayOfWeek.MONDAY" class="add-link hide-from-toc">MONDAY</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| <tr id="DayOfWeek.TUESDAY"> |
| <td><h3 id="DayOfWeek.TUESDAY" class="add-link hide-from-toc">TUESDAY</h3></td> |
| <td><code>3</code></td> |
| <td></td> |
| </tr> |
| <tr id="DayOfWeek.WEDNESDAY"> |
| <td><h3 id="DayOfWeek.WEDNESDAY" class="add-link hide-from-toc">WEDNESDAY</h3></td> |
| <td><code>4</code></td> |
| <td></td> |
| </tr> |
| <tr id="DayOfWeek.THURSDAY"> |
| <td><h3 id="DayOfWeek.THURSDAY" class="add-link hide-from-toc">THURSDAY</h3></td> |
| <td><code>5</code></td> |
| <td></td> |
| </tr> |
| <tr id="DayOfWeek.FRIDAY"> |
| <td><h3 id="DayOfWeek.FRIDAY" class="add-link hide-from-toc">FRIDAY</h3></td> |
| <td><code>6</code></td> |
| <td></td> |
| </tr> |
| <tr id="DayOfWeek.SATURDAY"> |
| <td><h3 id="DayOfWeek.SATURDAY" class="add-link hide-from-toc">SATURDAY</h3></td> |
| <td><code>7</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### Month [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Month data-text="Month"} |
| Type: <code>uint8</code> |
| |
| *Defined in [fuchsia.intl/calendar.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/calendar.fidl;l=19)* |
| <p>Enumeration of the months of the year.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="Month.JANUARY"> |
| <td><h3 id="Month.JANUARY" class="add-link hide-from-toc">JANUARY</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.FEBRUARY"> |
| <td><h3 id="Month.FEBRUARY" class="add-link hide-from-toc">FEBRUARY</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.MARCH"> |
| <td><h3 id="Month.MARCH" class="add-link hide-from-toc">MARCH</h3></td> |
| <td><code>3</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.APRIL"> |
| <td><h3 id="Month.APRIL" class="add-link hide-from-toc">APRIL</h3></td> |
| <td><code>4</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.MAY"> |
| <td><h3 id="Month.MAY" class="add-link hide-from-toc">MAY</h3></td> |
| <td><code>5</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.JUNE"> |
| <td><h3 id="Month.JUNE" class="add-link hide-from-toc">JUNE</h3></td> |
| <td><code>6</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.JULY"> |
| <td><h3 id="Month.JULY" class="add-link hide-from-toc">JULY</h3></td> |
| <td><code>7</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.AUGUST"> |
| <td><h3 id="Month.AUGUST" class="add-link hide-from-toc">AUGUST</h3></td> |
| <td><code>8</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.SEPTEMBER"> |
| <td><h3 id="Month.SEPTEMBER" class="add-link hide-from-toc">SEPTEMBER</h3></td> |
| <td><code>9</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.OCTOBER"> |
| <td><h3 id="Month.OCTOBER" class="add-link hide-from-toc">OCTOBER</h3></td> |
| <td><code>10</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.NOVEMBER"> |
| <td><h3 id="Month.NOVEMBER" class="add-link hide-from-toc">NOVEMBER</h3></td> |
| <td><code>11</code></td> |
| <td></td> |
| </tr> |
| <tr id="Month.DECEMBER"> |
| <td><h3 id="Month.DECEMBER" class="add-link hide-from-toc">DECEMBER</h3></td> |
| <td><code>12</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### RepeatedTimeConversion [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#RepeatedTimeConversion data-text="RepeatedTimeConversion"} |
| Type: <code>int32</code> |
| |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=23)* |
| <p>During a transition from daylight savings to standard time (when the clock is turned back), a |
| civil time can correspond to two possible absolute times. This setting determines which of those |
| times should be assumed during the conversion to absolute time.</p> |
| <p>TODO(fxbug.dev/82309): Implement <code>AFTER_TRANSITION</code>.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="RepeatedTimeConversion.BEFORE_TRANSITION"> |
| <td><h3 id="RepeatedTimeConversion.BEFORE_TRANSITION" class="add-link hide-from-toc">BEFORE_TRANSITION</h3></td> |
| <td><code>1</code></td> |
| <td><p>Returns the wall clock time before the transition.</p> |
| <p>For example, in "America/New_York" on the night of the fall transition to standard time, |
| <code>1:30 AM</code> is interpreted as <code>01:30-04:00</code> (EDT), which is <code>05:30Z</code>.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### SkippedTimeConversion [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#SkippedTimeConversion data-text="SkippedTimeConversion"} |
| Type: <code>int32</code> |
| |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=36)* |
| <p>During a transition from standard time to daylight savings time (when the clock is turned |
| forward), a span of civil times is skipped (usually one hour). This setting determines how |
| invalid civil times within this span should be treated.</p> |
| <p>TODO(fxbug.dev/82309): Implement <code>BEFORE_TRANSITION</code> and <code>AFTER_TRANSITION</code>.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="SkippedTimeConversion.REJECT"> |
| <td><h3 id="SkippedTimeConversion.REJECT" class="add-link hide-from-toc">REJECT</h3></td> |
| <td><code>1</code></td> |
| <td><p>Returns <code>TimeZonesError::INVALID_DATE</code> when trying to convert a skipped civil time.</p> |
| </td> |
| </tr> |
| <tr id="SkippedTimeConversion.NEXT_VALID_TIME"> |
| <td><h3 id="SkippedTimeConversion.NEXT_VALID_TIME" class="add-link hide-from-toc">NEXT_VALID_TIME</h3></td> |
| <td><code>2</code></td> |
| <td><p>Returns the closest valid time after the requested time.</p> |
| <p>For example, in "America/New_York" on the night of the spring transition to daylight savings |
| time, <code>2:30 AM</code> doesn't exist, so the next valid time, <code>3:00 AM</code> (EDT) is returned instead.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TemperatureUnit [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TemperatureUnit data-text="TemperatureUnit"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.intl/intl.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/intl.fidl;l=59)* |
| <p>Selection of <a href="https://en.wikipedia.org/wiki/Degree_(temperature)">temperature units</a>.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="TemperatureUnit.CELSIUS"> |
| <td><h3 id="TemperatureUnit.CELSIUS" class="add-link hide-from-toc">CELSIUS</h3></td> |
| <td><code>0</code></td> |
| <td><p>The temperature should be formatted to show temperature in degrees Celsius.</p> |
| </td> |
| </tr> |
| <tr id="TemperatureUnit.FAHRENHEIT"> |
| <td><h3 id="TemperatureUnit.FAHRENHEIT" class="add-link hide-from-toc">FAHRENHEIT</h3></td> |
| <td><code>1</code></td> |
| <td><p>The temperature should be formatted to show temperature in degrees Fahrenheit.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TimeZonesError [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TimeZonesError data-text="TimeZonesError"} |
| Type: <code>int32</code> |
| |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=9)* |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="TimeZonesError.INTERNAL_ERROR"> |
| <td><h3 id="TimeZonesError.INTERNAL_ERROR" class="add-link hide-from-toc">INTERNAL_ERROR</h3></td> |
| <td><code>1</code></td> |
| <td><p>An internal error has occurred within the service.</p> |
| </td> |
| </tr> |
| <tr id="TimeZonesError.UNKNOWN_TIME_ZONE"> |
| <td><h3 id="TimeZonesError.UNKNOWN_TIME_ZONE" class="add-link hide-from-toc">UNKNOWN_TIME_ZONE</h3></td> |
| <td><code>2</code></td> |
| <td><p>The requested time zone ID is invalid.</p> |
| </td> |
| </tr> |
| <tr id="TimeZonesError.INVALID_DATE"> |
| <td><h3 id="TimeZonesError.INVALID_DATE" class="add-link hide-from-toc">INVALID_DATE</h3></td> |
| <td><code>3</code></td> |
| <td><p>The provided date is out of range or invalid.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **TABLES** |
| |
| ### CivilTime {#CivilTime data-text="CivilTime"} |
| |
| |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=108)* |
| <p>Describes a time on a civil calendar (Gregorian), with nanosecond precision. This is roughly |
| equivalent to the <code>tm</code> struct in <code>time.h</code> in the C standard library, and is intended as a |
| structured intermediate format for printing or parsing dates.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="CivilTime.year"> |
| <td><h3 id="CivilTime.year" class="add-link hide-from-toc">1</h3></td> |
| <td><code>year</code></td> |
| <td> |
| <code>uint16</code> |
| </td> |
| <td><p>Year, in the closed range <code>[1678, 2262]</code>.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.month"> |
| <td><h3 id="CivilTime.month" class="add-link hide-from-toc">2</h3></td> |
| <td><code>month</code></td> |
| <td> |
| <code><a class='link' href='#Month'>Month</a></code> |
| </td> |
| <td><p>Month of the year.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.day"> |
| <td><h3 id="CivilTime.day" class="add-link hide-from-toc">3</h3></td> |
| <td><code>day</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td><p>Day of the month, in the closed range <code>[1, 31]</code>.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.hour"> |
| <td><h3 id="CivilTime.hour" class="add-link hide-from-toc">4</h3></td> |
| <td><code>hour</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td><p>Hour of the day, in the closed range <code>[0, 23]</code>.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.minute"> |
| <td><h3 id="CivilTime.minute" class="add-link hide-from-toc">5</h3></td> |
| <td><code>minute</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td><p>Minute of the hour, in the closed range <code>[0, 59]</code>.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.second"> |
| <td><h3 id="CivilTime.second" class="add-link hide-from-toc">6</h3></td> |
| <td><code>second</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td><p>Second of the minute, in the closed range <code>[0, 59]</code>.</p> |
| <p>(Note that Fuchsia does not currently calculate leap seconds when converting dates.)</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.nanos"> |
| <td><h3 id="CivilTime.nanos" class="add-link hide-from-toc">7</h3></td> |
| <td><code>nanos</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td><p>Nanosecond, in the closed range <code>[0, 999_999_999]</code>.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.weekday"> |
| <td><h3 id="CivilTime.weekday" class="add-link hide-from-toc">8</h3></td> |
| <td><code>weekday</code></td> |
| <td> |
| <code><a class='link' href='#DayOfWeek'>DayOfWeek</a></code> |
| </td> |
| <td><p>Day of the week.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.year_day"> |
| <td><h3 id="CivilTime.year_day" class="add-link hide-from-toc">9</h3></td> |
| <td><code>year_day</code></td> |
| <td> |
| <code>uint16</code> |
| </td> |
| <td><p>Day of the year, in the closed range <code>[0, 365]</code>.</p> |
| </td> |
| </tr> |
| <tr id="CivilTime.time_zone_id"> |
| <td><h3 id="CivilTime.time_zone_id" class="add-link hide-from-toc">10</h3></td> |
| <td><code>time_zone_id</code></td> |
| <td> |
| <code><a class='link' href='#TimeZoneId'>TimeZoneId</a></code> |
| </td> |
| <td><p>The time zone corresponding to this time. If omitted, the default is UTC.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### CivilToAbsoluteTimeOptions {#CivilToAbsoluteTimeOptions data-text="CivilToAbsoluteTimeOptions"} |
| |
| |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=48)* |
| <p>Options for <code>TimeZones.CivilToAbsoluteTime</code>.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="CivilToAbsoluteTimeOptions.repeated_time_conversion"> |
| <td><h3 id="CivilToAbsoluteTimeOptions.repeated_time_conversion" class="add-link hide-from-toc">1</h3></td> |
| <td><code>repeated_time_conversion</code></td> |
| <td> |
| <code><a class='link' href='#RepeatedTimeConversion'>RepeatedTimeConversion</a></code> |
| </td> |
| <td><p>Optional setting for handling repeated times during backward daylight savings time |
| transitions.</p> |
| <p>Default: <code>BEFORE_TRANSITION</code>.</p> |
| </td> |
| </tr> |
| <tr id="CivilToAbsoluteTimeOptions.skipped_time_conversion"> |
| <td><h3 id="CivilToAbsoluteTimeOptions.skipped_time_conversion" class="add-link hide-from-toc">2</h3></td> |
| <td><code>skipped_time_conversion</code></td> |
| <td> |
| <code><a class='link' href='#SkippedTimeConversion'>SkippedTimeConversion</a></code> |
| </td> |
| <td><p>Optional setting for handling skipped times during forward daylight savings time |
| transitions.</p> |
| <p>Default: <code>NEXT_VALID_TIME</code>.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### Profile {#Profile data-text="Profile"} |
| |
| |
| *Defined in [fuchsia.intl/intl.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/intl.fidl;l=73)* |
| <p>A collection of ranked internationalization properties.</p> |
| <p>There is no implied origin for this information; it might come from a user account, device |
| settings, a synthesis of user settings and app-specific overrides, or anywhere else.</p> |
| <p>Language-independent properties that are supported by Unicode BCP-47 Locale IDs (e.g. |
| first-day-of-week, time zone) are denormalized into the locale IDs in <code>locales</code>.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="Profile.locales"> |
| <td><h3 id="Profile.locales" class="add-link hide-from-toc">1</h3></td> |
| <td><code>locales</code></td> |
| <td> |
| <code>vector<<a class='link' href='#LocaleId'>LocaleId</a>></code> |
| </td> |
| <td><p>Ranked list of locales (in descending order of preference). The vector will always |
| be set, and always contain at least one element. For example, |
| locales = [ LocaleId("en-US") ] is valid, but locales = [], or locales = <unset> is not.</p> |
| </td> |
| </tr> |
| <tr id="Profile.calendars"> |
| <td><h3 id="Profile.calendars" class="add-link hide-from-toc">2</h3></td> |
| <td><code>calendars</code></td> |
| <td> |
| <code>vector<<a class='link' href='#CalendarId'>CalendarId</a>></code> |
| </td> |
| <td><p>Ranked list of calendars (in descending order of preference). |
| The first entry is the primary calendar, and will be equal to the calendar indicated |
| in <code>locales</code>. |
| The vector will always be set, and always contain at least one element. |
| The list allows multiple ranked preferences, and is intended for use |
| by applications that can display multiple calendar systems.</p> |
| </td> |
| </tr> |
| <tr id="Profile.time_zones"> |
| <td><h3 id="Profile.time_zones" class="add-link hide-from-toc">3</h3></td> |
| <td><code>time_zones</code></td> |
| <td> |
| <code>vector<<a class='link' href='#TimeZoneId'>TimeZoneId</a>></code> |
| </td> |
| <td><p>Ranked list of time zones (in descending order). The first entry is the primary time zone, |
| which should be used by default for formatting dates and times; it will be equal to the |
| calendar indicated in <code>locales</code>. |
| The list is intended for use by applications that can display multiple time zones, e.g. |
| a world clock. |
| The vector will always be set, and always contain at least one element. |
| On Fuchsia, the default time zone is always <code>DEFAULT_TIME_ZONE_ID</code> when |
| no more specific time zones have been defined or selected.</p> |
| </td> |
| </tr> |
| <tr id="Profile.temperature_unit"> |
| <td><h3 id="Profile.temperature_unit" class="add-link hide-from-toc">4</h3></td> |
| <td><code>temperature_unit</code></td> |
| <td> |
| <code><a class='link' href='#TemperatureUnit'>TemperatureUnit</a></code> |
| </td> |
| <td><p>Selected temperature unit. The unit is always reported: if there is no |
| setting in the current environment, the default value of CELSIUS is |
| used.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### RegulatoryDomain {#RegulatoryDomain data-text="RegulatoryDomain"} |
| |
| |
| *Defined in [fuchsia.intl/intl.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/intl.fidl;l=7)* |
| <p>Typed identifier for a regulatory domain as specified in the IEEE 802.11 standard.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="RegulatoryDomain.country_code"> |
| <td><h3 id="RegulatoryDomain.country_code" class="add-link hide-from-toc">1</h3></td> |
| <td><code>country_code</code></td> |
| <td> |
| <code>string</code> |
| </td> |
| <td><p>ISO 3166-1 alpha-2, a two-letter code representing a domain of operation. |
| (https://www.iso.org/publication/PUB500001.html)</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TimeZoneInfo {#TimeZoneInfo data-text="TimeZoneInfo"} |
| |
| |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=136)* |
| <p>Describes a Time Zone's properties at a particular moment in time.</p> |
| <p>TODO(fxbug.dev/81902): Additional fields with a breakdown of offsets and DST status.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TimeZoneInfo.id"> |
| <td><h3 id="TimeZoneInfo.id" class="add-link hide-from-toc">1</h3></td> |
| <td><code>id</code></td> |
| <td> |
| <code><a class='link' href='#TimeZoneId'>TimeZoneId</a></code> |
| </td> |
| <td><p>The time zone's IANA ID.</p> |
| </td> |
| </tr> |
| <tr id="TimeZoneInfo.total_offset_at_time"> |
| <td><h3 id="TimeZoneInfo.total_offset_at_time" class="add-link hide-from-toc">2</h3></td> |
| <td><code>total_offset_at_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code> |
| </td> |
| <td><p>The total offset (including Daylight Savings, if the time zone is in Daylight Savings Time) |
| from UTC at the queried time (<code>at_time</code>). If the time zone is ahead of UTC, this will be a |
| positive value; if behind UTC, a negative value.</p> |
| </td> |
| </tr> |
| <tr id="TimeZoneInfo.in_dst_at_time"> |
| <td><h3 id="TimeZoneInfo.in_dst_at_time" class="add-link hide-from-toc">3</h3></td> |
| <td><code>in_dst_at_time</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Indicates whether the time zone is in Daylight Savings Time at the queried time |
| (<code>at_time</code>).</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **UNIONS** |
| |
| ### TimeZones_AbsoluteToCivilTime_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TimeZones_AbsoluteToCivilTime_Result data-text="TimeZones_AbsoluteToCivilTime_Result"} |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=75)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="TimeZones_AbsoluteToCivilTime_Result.response"> |
| <td><h3 id="TimeZones_AbsoluteToCivilTime_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#TimeZones_AbsoluteToCivilTime_Response'>TimeZones_AbsoluteToCivilTime_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="TimeZones_AbsoluteToCivilTime_Result.err"> |
| <td><h3 id="TimeZones_AbsoluteToCivilTime_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#TimeZonesError'>TimeZonesError</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### TimeZones_CivilToAbsoluteTime_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TimeZones_CivilToAbsoluteTime_Result data-text="TimeZones_CivilToAbsoluteTime_Result"} |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=89)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="TimeZones_CivilToAbsoluteTime_Result.response"> |
| <td><h3 id="TimeZones_CivilToAbsoluteTime_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#TimeZones_CivilToAbsoluteTime_Response'>TimeZones_CivilToAbsoluteTime_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="TimeZones_CivilToAbsoluteTime_Result.err"> |
| <td><h3 id="TimeZones_CivilToAbsoluteTime_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#TimeZonesError'>TimeZonesError</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### TimeZones_GetTimeZoneInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TimeZones_GetTimeZoneInfo_Result data-text="TimeZones_GetTimeZoneInfo_Result"} |
| *Defined in [fuchsia.intl/time_zones.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/time_zones.fidl;l=100)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="TimeZones_GetTimeZoneInfo_Result.response"> |
| <td><h3 id="TimeZones_GetTimeZoneInfo_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#TimeZones_GetTimeZoneInfo_Response'>TimeZones_GetTimeZoneInfo_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="TimeZones_GetTimeZoneInfo_Result.err"> |
| <td><h3 id="TimeZones_GetTimeZoneInfo_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#TimeZonesError'>TimeZonesError</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **CONSTANTS** |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr> |
| <tr id="DEFAULT_TIME_ZONE_ID"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.intl/intl.fidl;l=50">DEFAULT_TIME_ZONE_ID</a></td> |
| <td><code>UTC</code></td> |
| <td><code>String</code></td> |
| <td><p>This is the time zone reported when no time zones have been set.</p> |
| </td> |
| </tr> |
| </table> |