js-apis-intl.md 32.1 KB
Newer Older
Z
zengyawen 已提交
1
# 国际化-Intl
Z
zengyawen 已提交
2

T
explain  
tianyu 已提交
3 4 5
 本模块提供提供基础的应用国际化能力,包括时间日期格式化、数字格式化、排序等,相关接口在ECMA 402标准中定义。
[I18N模块](js-apis-i18n.md)提供其他非ECMA 402定义的国际化接口,与本模块共同使用可提供完整地国际化支持能力。 

H
HelloCrease 已提交
6
>  **说明:**
S
sunyaozu 已提交
7
> - 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
H
HelloCrease 已提交
8
>
M
mengjingzhimo 已提交
9
> - Intl模块包含国际化能力基础接口(在ECMA 402中定义),包括时间日期格式化、数字格式化、排序等,国际化增强能力请参考[I18N模块](js-apis-i18n.md)。
Z
zengyawen 已提交
10

Z
zengyawen 已提交
11 12

## 导入模块
Z
zengyawen 已提交
13

H
HelloCrease 已提交
14
```js
Z
zengyawen 已提交
15
import Intl from '@ohos.intl';
Z
zengyawen 已提交
16 17
```

Z
zengyawen 已提交
18 19 20 21 22 23

## Locale


### 属性

S
sunyaozu 已提交
24 25
**系统能力**:以下各项对应的系统能力均为SystemCapability.Global.I18n

H
HelloCrease 已提交
26 27 28 29 30 31 32 33 34 35 36 37
| 名称              | 参数类型    | 可读   | 可写   | 说明                                       |
| --------------- | ------- | ---- | ---- | ---------------------------------------- |
| language        | string  | 是    | 否    | 与区域设置关联的语, 如:zh。                    |
| script          | string  | 是    | 否    | 语言的书写方式,如:Hans。                          |
| region          | string  | 是    | 否    | 与区域设置相关的地区,如:CN。                         |
| baseName        | string  | 是    | 否    | Locale的基本核心信息(由语言脚本与地区组成),如:zh-Hans-CN。  |
| caseFirst       | string  | 是    | 否    | 区域的整理规则是否考虑大小写,取值包括:"upper", "lower", "false"。 |
| calendar        | string  | 是    | 否    | 区域的日历信息,取值包括:"buddhist", "chinese", "coptic","dangi", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamic-umalqura", "islamic-tbla", "islamic-civil", "islamic-rgsa", "iso8601", "japanese", "persian", "roc", "islamicc"。 |
| collation       | string  | 是    | 否    | 区域的排序规则,取值包括:"big5han", "compat", "dict", "direct", "ducet", "eor", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad", "unihan", "zhuyin"。 |
| hourCycle       | string  | 是    | 否    | 区域的时制信息,取值包括:"h12", "h23", "h11", "h24"。 |
| numberingSystem | string  | 是    | 否    | 区域使用的数字系统,取值包括:"adlm", "ahom", "arab", "arabext", "bali", "beng", "bhks", "brah", "cakm", "cham", "deva", "diak", "fullwide", "gong", "gonm", "gujr", "guru", "hanidec", "hmng", "hmnp", "java", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"。 |
| numeric         | boolean | 是    | 否    | 是否对数字字符具有特殊的排序规则处理。                      |
Z
zengyawen 已提交
38 39


S
sunyaozu 已提交
40
### constructor<sup>8+</sup>
S
sunyaozu 已提交
41 42 43 44 45 46 47

constructor()

创建区域对象

**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
48
**示例:** 
H
HelloCrease 已提交
49
  ```js
S
sunyaozu 已提交
50 51 52 53
  var locale = new Intl.Locale();
  ```


Z
zengyawen 已提交
54 55
### constructor

S
sunyaozu 已提交
56
constructor(locale: string, options?: LocaleOptions)
Z
zengyawen 已提交
57 58 59

创建区域对象

S
sunyaozu 已提交
60 61
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
62 63 64 65 66
**参数:** 
| 参数名     | 类型            | 必填   | 说明                           |
| ------- | ------------- | ---- | ---------------------------- |
| locale  | string        | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
| options | LocaleOptions | 否    | 用于创建区域对象的选项。                 |
Z
zengyawen 已提交
67

H
HelloCrease 已提交
68
**示例:** 
H
HelloCrease 已提交
69
  ```js
Z
zengyawen 已提交
70
  var locale = new Intl.Locale("zh-CN");
Z
zengyawen 已提交
71
  ```
Z
zengyawen 已提交
72 73


Z
zengyawen 已提交
74
### toString
Z
zengyawen 已提交
75

Z
zengyawen 已提交
76
toString(): string
Z
zengyawen 已提交
77

Z
zengyawen 已提交
78
将区域信息转换为字符串
Z
zengyawen 已提交
79

S
sunyaozu 已提交
80 81
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
82 83 84 85
**返回值:** 
| 类型     | 说明          |
| ------ | ----------- |
| string | 字符串形式的区域信息。 |
Z
zengyawen 已提交
86

H
HelloCrease 已提交
87
**示例:** 
H
HelloCrease 已提交
88
  ```js
Z
zengyawen 已提交
89 90 91
  var locale = new Intl.Locale("zh-CN");
  locale.toString();
  ```
Z
zengyawen 已提交
92 93


Z
zengyawen 已提交
94
### maximize
Z
zengyawen 已提交
95

Z
zengyawen 已提交
96
maximize(): Locale
Z
zengyawen 已提交
97

Z
zengyawen 已提交
98
最大化区域信息,若缺少脚本与地区信息,则补齐。
Z
zengyawen 已提交
99

S
sunyaozu 已提交
100 101
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
102 103 104 105
**返回值:** 
| 类型                | 说明         |
| ----------------- | ---------- |
| [Locale](#locale) | 最大化后的区域对象。 |
Z
zengyawen 已提交
106

H
HelloCrease 已提交
107
**示例:** 
H
HelloCrease 已提交
108
  ```js
Z
zengyawen 已提交
109 110 111
  var locale = new Intl.Locale("zh-CN");
  locale.maximize();
  ```
Z
zengyawen 已提交
112 113


Z
zengyawen 已提交
114
### minimize
Z
zengyawen 已提交
115

Z
zengyawen 已提交
116
minimize(): Locale
Z
zengyawen 已提交
117 118 119

最小化区域信息,若包含脚本与地区信息,则去除。

S
sunyaozu 已提交
120 121
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
122 123 124 125
**返回值:** 
| 类型                | 说明         |
| ----------------- | ---------- |
| [Locale](#locale) | 最小化后的区域对象。 |
Z
zengyawen 已提交
126

H
HelloCrease 已提交
127
**示例:** 
H
HelloCrease 已提交
128
  ```js
Z
zengyawen 已提交
129 130 131
  var locale = new Intl.Locale("zh-CN");
  locale.minimize();
  ```
Z
zengyawen 已提交
132 133


S
sunyaozu 已提交
134 135 136 137
## LocaleOptions

表示区域初始化选项。

H
HelloCrease 已提交
138
**系统能力**:SystemCapability.Global.I18n
S
sunyaozu 已提交
139

H
HelloCrease 已提交
140 141 142 143 144 145 146 147
| 名称              | 参数类型    | 可读   | 可写   | 说明                                       |
| --------------- | ------- | ---- | ---- | ---------------------------------------- |
| calendar        | string  | 是    | 是    | 日历参数,如:"buddhist", "chinese", "coptic", "dangi", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamic-umalqura", "islamic-tbla", "islamic-civil", "islamic-rgsa", "iso8601", "japanese", "persian", "roc", "islamicc"。 |
| collation       | string  | 是    | 是    | 排序参数,取值包括:"big5han", "compat", "dict", "direct", "ducet", "emoji", "eor", "gb2312", "phonebk", "phonetic", "pinyin", "reformed	", "search", "searchjl", "standard", "stroke", "trad", "unihan", "zhuyin"。 |
| hourCycle       | string  | 是    | 是    | 时制格式,取值包括:"h11",&nbsp;"h12",&nbsp;"h23",&nbsp;"h24"。 |
| numberingSystem | string  | 是    | 是    | 数字系统,取值包括:"adlm",&nbsp;"ahom",&nbsp;"arab",&nbsp;"arabext",&nbsp;"bali",&nbsp;"beng",&nbsp;"bhks",&nbsp;"brah",&nbsp;"cakm",&nbsp;"cham",&nbsp;"deva",&nbsp;"diak",&nbsp;"fullwide",&nbsp;"gong",&nbsp;"gonm",&nbsp;"gujr",&nbsp;"guru",&nbsp;"hanidec",&nbsp;"hmng",&nbsp;"hmnp",&nbsp;"java",&nbsp;"kali",&nbsp;"khmr",&nbsp;"knda",&nbsp;"lana",&nbsp;"lanatham",&nbsp;"laoo",&nbsp;"latn",&nbsp;"lepc",&nbsp;"limb",&nbsp;"mathbold",&nbsp;"mathdbl",&nbsp;"mathmono",&nbsp;"mathsanb",&nbsp;"mathsans",&nbsp;"mlym",&nbsp;"modi",&nbsp;"mong",&nbsp;"mroo",&nbsp;"mtei",&nbsp;"mymr",&nbsp;"mymrshan",&nbsp;"mymrtlng",&nbsp;"newa",&nbsp;"nkoo",&nbsp;"olck",&nbsp;"orya",&nbsp;"osma",&nbsp;"rohg",&nbsp;"saur",&nbsp;"segment",&nbsp;"shrd",&nbsp;"sind",&nbsp;"sinh",&nbsp;"sora",&nbsp;"sund",&nbsp;"takr",&nbsp;"talu",&nbsp;"tamldec",&nbsp;"telu",&nbsp;"thai",&nbsp;"tibt",&nbsp;"tirh",&nbsp;"vaii",&nbsp;"wara",&nbsp;"wcho"。 |
| numeric         | boolean | 是    | 是    | 是否使用12小时制。                               |
| caseFirst       | string  | 是    | 是    | 表示大写、小写的排序顺序,取值范围:"upper",&nbsp;"lower",&nbsp;"false"。 |
S
sunyaozu 已提交
148 149


Z
zengyawen 已提交
150
## DateTimeFormat
Z
zengyawen 已提交
151 152


S
sunyaozu 已提交
153
### constructor<sup>8+</sup>
S
sunyaozu 已提交
154 155 156 157 158 159 160

constructor()

创建时间日期格式化对象。

**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
161
**示例:** 
H
HelloCrease 已提交
162
  ```js
S
sunyaozu 已提交
163 164 165 166
  var datefmt= new Intl.DateTimeFormat();
  ```


Z
zengyawen 已提交
167
### constructor
Z
zengyawen 已提交
168

H
HelloCrease 已提交
169
constructor(locale: string | Array&lt;string&gt;, options?: DateTimeOptions)
Z
zengyawen 已提交
170 171 172

创建时间日期格式化对象。

S
sunyaozu 已提交
173 174
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
175 176 177 178 179
**参数:** 
| 参数名     | 类型                                  | 必填   | 说明                           |
| ------- | ----------------------------------- | ---- | ---------------------------- |
| locale  | string \| Array&lt;string&gt;       | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
| options | [DateTimeOptions](#datetimeoptions) | 否    | 用于创建时间日期格式化的选项。              |
Z
zengyawen 已提交
180

H
HelloCrease 已提交
181
**示例:** 
H
HelloCrease 已提交
182
  ```js
Z
zengyawen 已提交
183 184 185 186
  var datefmt= new Intl.DateTimeFormat("zh-CN", { dateStyle: 'full', timeStyle: 'medium' });
  ```


H
HelloCrease 已提交
187
**示例:** 
H
HelloCrease 已提交
188
  ```js
Z
zengyawen 已提交
189 190 191 192 193 194
  var datefmt= new Intl.DateTimeFormat(["ban", "zh"], { dateStyle: 'full', timeStyle: 'medium' });
  ```


### format

Z
zengyawen 已提交
195
format(date: Date): string
Z
zengyawen 已提交
196 197 198

格式化时间日期字符串。

S
sunyaozu 已提交
199 200
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
201 202 203 204
**参数:** 
| 参数名  | 类型   | 必填   | 说明      |
| ---- | ---- | ---- | ------- |
| date | Date | 是    | 时间日期对象。 |
Z
zengyawen 已提交
205

H
HelloCrease 已提交
206 207 208 209
**返回值:** 
| 类型     | 说明           |
| ------ | ------------ |
| string | 格式化后的时间日期字符串 |
Z
zengyawen 已提交
210

H
HelloCrease 已提交
211
**示例:** 
H
HelloCrease 已提交
212
  ```js
Z
zengyawen 已提交
213 214 215 216 217 218 219 220
  var date = new Date(2021, 11, 17, 3, 24, 0);
  var datefmt = new Intl.DateTimeFormat("en-GB");
  datefmt.format(date);
  ```


### formatRange

S
sunyaozu 已提交
221
formatRange(startDate: Date, endDate: Date): string
Z
zengyawen 已提交
222 223 224

格式化时间日期段字符串。

S
sunyaozu 已提交
225 226
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
227 228 229 230 231
**参数:** 
| 参数名       | 类型   | 必填   | 说明       |
| --------- | ---- | ---- | -------- |
| startDate | Date | 是    | 起始的时间日期。 |
| endDate   | Date | 是    | 结束的时间日期。 |
Z
zengyawen 已提交
232

H
HelloCrease 已提交
233 234 235 236
**返回值:** 
| 类型     | 说明             |
| ------ | -------------- |
| string | 格式化后的时间日期段字符串。 |
Z
zengyawen 已提交
237

H
HelloCrease 已提交
238
**示例:** 
H
HelloCrease 已提交
239
  ```js
Z
zengyawen 已提交
240 241 242 243 244
  var startDate = new Date(2021, 11, 17, 3, 24, 0);
  var endDate = new Date(2021, 11, 18, 3, 24, 0);
  var datefmt = new Intl.DateTimeFormat("en-GB");
  datefmt.formatRange(startDate, endDate);
  ```
Z
zengyawen 已提交
245 246


Z
zengyawen 已提交
247
### resolvedOptions
Z
zengyawen 已提交
248

Z
zengyawen 已提交
249 250
resolvedOptions(): DateTimeOptions

Z
zengyawen 已提交
251
获取DateTimeFormat对象的格式化选项。
Z
zengyawen 已提交
252

S
sunyaozu 已提交
253 254
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
255 256 257 258
**返回值:** 
| 类型                                  | 说明                            |
| ----------------------------------- | ----------------------------- |
| [DateTimeOptions](#datetimeoptions) | DateTimeFormat&nbsp;对象的格式化选项。 |
Z
zengyawen 已提交
259

H
HelloCrease 已提交
260
**示例:** 
H
HelloCrease 已提交
261
  ```js
Z
zengyawen 已提交
262 263 264
  var datefmt = new Intl.DateTimeFormat("en-GB");
  datefmt.resolvedOptions();
  ```
Z
zengyawen 已提交
265 266


Z
zengyawen 已提交
267 268 269 270
## DateTimeOptions

表示时间日期格式化选项。

H
HelloCrease 已提交
271
**系统能力**:SystemCapability.Global.I18n
S
sunyaozu 已提交
272

H
HelloCrease 已提交
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293
| 名称              | 参数类型    | 可读   | 可写   | 说明                                       |
| --------------- | ------- | ---- | ---- | ---------------------------------------- |
| locale          | string  | 是    | 否    | 区域参数,&nbsp;如:zh-Hans-CN。                 |
| dateStyle       | string  | 是    | 是    | 日期显示格式,取值包括:"long",&nbsp;"short",&nbsp;"medium",&nbsp;"full"。 |
| timeStyle       | string  | 是    | 是    | 时间显示格式,取值包括:"long",&nbsp;"short",&nbsp;"medium",&nbsp;"full"。 |
| hourCycle       | string  | 是    | 是    | 时制格式,取值包括:"h11",&nbsp;"h12",&nbsp;"h23",&nbsp;"h24"。 |
| timeZone        | string  | 是    | 是    | 使用的时区(合法的IANA时区ID)。                      |
| numberingSystem | string  | 是    | 是    | 数字系统,取值包括:"adlm",&nbsp;"ahom",&nbsp;"arab",&nbsp;"arabext",&nbsp;"bali",&nbsp;"beng",&nbsp;"bhks",&nbsp;"brah",&nbsp;"cakm",&nbsp;"cham",&nbsp;"deva",&nbsp;"diak",&nbsp;"fullwide",&nbsp;"gong",&nbsp;"gonm",&nbsp;"gujr",&nbsp;"guru",&nbsp;"hanidec",&nbsp;"hmng",&nbsp;"hmnp",&nbsp;"java",&nbsp;"kali",&nbsp;"khmr",&nbsp;"knda",&nbsp;"lana",&nbsp;"lanatham",&nbsp;"laoo",&nbsp;"latn",&nbsp;"lepc",&nbsp;"limb",&nbsp;"mathbold",&nbsp;"mathdbl",&nbsp;"mathmono",&nbsp;"mathsanb",&nbsp;"mathsans",&nbsp;"mlym",&nbsp;"modi",&nbsp;"mong",&nbsp;"mroo",&nbsp;"mtei",&nbsp;"mymr",&nbsp;"mymrshan",&nbsp;"mymrtlng",&nbsp;"newa",&nbsp;"nkoo",&nbsp;"olck",&nbsp;"orya",&nbsp;"osma",&nbsp;"rohg",&nbsp;"saur",&nbsp;"segment",&nbsp;"shrd",&nbsp;"sind",&nbsp;"sinh",&nbsp;"sora",&nbsp;"sund",&nbsp;"takr",&nbsp;"talu",&nbsp;"tamldec",&nbsp;"telu",&nbsp;"thai",&nbsp;"tibt",&nbsp;"tirh",&nbsp;"vaii",&nbsp;"wara",&nbsp;"wcho"。 |
| hour12          | boolean | 是    | 是    | 是否使用12小时制。                               |
| weekday         | string  | 是    | 是    | 工作日的显示格式,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
| era             | string  | 是    | 是    | 时代的显示格式,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
| year            | string  | 是    | 是    | 年份的显示格式,取值包括:"numeric",&nbsp;"2-digit"。  |
| month           | string  | 是    | 是    | 月份的显示格式,取值包括:"numeric",&nbsp;"2-digit",&nbsp;"long",&nbsp;"short",&nbsp;"narrow"。 |
| day             | string  | 是    | 是    | 日期的显示格式,取值包括:"numeric",&nbsp;"2-digit"。  |
| hour            | string  | 是    | 是    | 小时的显示格式,取值包括:"numeric",&nbsp;"2-digit"。  |
| minute          | string  | 是    | 是    | 分钟的显示格式,取值包括:"numeric",&nbsp;"2-digit"。  |
| second          | string  | 是    | 是    | 秒钟的显示格式,取值包括:"numeric",&nbsp;"2-digit"。  |
| timeZoneName    | string  | 是    | 是    | 时区名称的本地化表示。                              |
| dayPeriod       | string  | 是    | 是    | 时段的显示格式,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
| localeMatcher   | string  | 是    | 是    | 要使用的区域匹配算法,取值包括:"lookup",&nbsp;"best&nbsp;fit"。 |
| formatMatcher   | string  | 是    | 是    | 要使用的格式匹配算法,取值包括:"basic",&nbsp;"best&nbsp;fit"。 |
Z
zengyawen 已提交
294 295


Z
zengyawen 已提交
296
## NumberFormat
Z
zengyawen 已提交
297 298


S
sunyaozu 已提交
299
### constructor<sup>8+</sup>
S
sunyaozu 已提交
300 301 302 303 304 305 306

constructor()

创建数字格式化对象。

**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
307
**示例:** 
H
HelloCrease 已提交
308
  ```js
S
sunyaozu 已提交
309 310 311 312
  var numfmt = new Intl.NumberFormat();
  ```


Z
zengyawen 已提交
313 314
### constructor

H
HelloCrease 已提交
315
constructor(locale: string | Array&lt;string&gt;, options?: NumberOptions)
Z
zengyawen 已提交
316 317 318

创建数字格式化对象。

S
sunyaozu 已提交
319 320
**系统能力**:SystemCapability.Global.I18n

Z
zengyawen 已提交
321
参数:
H
HelloCrease 已提交
322 323 324 325
| 参数名     | 类型                              | 必填   | 说明                           |
| ------- | ------------------------------- | ---- | ---------------------------- |
| locale  | string \| Array&lt;string&gt;   | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
| options | [NumberOptions](#numberoptions) | 否    | 用于创建数字格式化的选项。                |
Z
zengyawen 已提交
326

H
HelloCrease 已提交
327
**示例:** 
H
HelloCrease 已提交
328
  ```js
Z
zengyawen 已提交
329 330 331
  var numfmt = new Intl.NumberFormat("en-GB", {style:'decimal', notation:"scientific"});
  ```

Z
zengyawen 已提交
332

Z
zengyawen 已提交
333 334 335
### format

format(number: number): string;
Z
zengyawen 已提交
336 337 338

格式化数字字符串。

S
sunyaozu 已提交
339 340
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
341 342 343 344
**参数:** 
| 参数名    | 类型     | 必填   | 说明   |
| ------ | ------ | ---- | ---- |
| number | number | 是    | 数字对象 |
Z
zengyawen 已提交
345

H
HelloCrease 已提交
346 347 348 349
**返回值:** 
| 类型     | 说明         |
| ------ | ---------- |
| string | 格式化后的数字字符串 |
Z
zengyawen 已提交
350 351


H
HelloCrease 已提交
352
**示例:** 
H
HelloCrease 已提交
353
  ```js
Z
zengyawen 已提交
354 355 356
  var numfmt = new Intl.NumberFormat(["en-GB", "zh"], {style:'decimal', notation:"scientific"});
  numfmt.format(1223);
  ```
Z
zengyawen 已提交
357 358


Z
zengyawen 已提交
359
### resolvedOptions
Z
zengyawen 已提交
360

Z
zengyawen 已提交
361 362 363 364
resolvedOptions(): NumberOptions

获取NumberFormat 对象的格式化选项。

S
sunyaozu 已提交
365 366
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
367 368 369 370
**返回值:** 
| 类型                              | 说明                          |
| ------------------------------- | --------------------------- |
| [NumberOptions](#numberoptions) | NumberFormat&nbsp;对象的格式化选项。 |
Z
zengyawen 已提交
371 372


H
HelloCrease 已提交
373
**示例:** 
H
HelloCrease 已提交
374
  ```js
Z
zengyawen 已提交
375 376 377 378 379
  var numfmt = new Intl.NumberFormat(["en-GB", "zh"], {style:'decimal', notation:"scientific"});
  numfmt.resolvedOptions();
  ```


Z
zengyawen 已提交
380
## NumberOptions
Z
zengyawen 已提交
381

Z
zengyawen 已提交
382
表示设备支持的能力。
Z
zengyawen 已提交
383

S
sunyaozu 已提交
384 385
**系统能力**:以下各项对应的系统能力均为SystemCapability.Global.I18n

H
HelloCrease 已提交
386 387 388 389 390 391 392
| 名称                       | 参数类型    | 可读   | 可写   | 说明                                       |
| ------------------------ | ------- | ---- | ---- | ---------------------------------------- |
| locale                   | string  | 是    | 否    | 区域参数,&nbsp;如:"zh-Hans-CN"。               |
| currency                 | string  | 是    | 是    | 货币单位,&nbsp;如:"EUR","CNY","USD"等。         |
| currencySign             | string  | 是    | 是    | 货币单位的符号显示,取值包括:&nbsp;"symbol","narrowSymbol","code","name"&nbsp;。 |
| currencyDisplay          | string  | 是    | 是    | 货币的显示方式,取值包括:"symbol",&nbsp;"narrowSymbol",&nbsp;"code",&nbsp;"name"。 |
| unit                     | string  | 是    | 是    | 单位名称,如:"meter","inch",“hectare”等。        |
393
| unitDisplay              | string  | 是    | 是    | 单位的显示格式,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
H
HelloCrease 已提交
394
| unitUsage<sup>8+</sup>   | string  | 是    | 是    | 单位的使用场景,取值包括:"default",&nbsp;"area-land-agricult",&nbsp;"area-land-commercl",&nbsp;"area-land-residntl",&nbsp;"length-person",&nbsp;"length-person-small",&nbsp;"length-rainfall",&nbsp;"length-road",&nbsp;"length-road-small",&nbsp;"length-snowfall",&nbsp;"length-vehicle",&nbsp;"length-visiblty",&nbsp;"length-visiblty-small",&nbsp;"length-person-informal",&nbsp;"length-person-small-informal",&nbsp;"length-road-informal",&nbsp;"speed-road-travel",&nbsp;"speed-wind",&nbsp;"temperature-person",&nbsp;"temperature-weather",&nbsp;"volume-vehicle-fuel"。 |
H
HelloCrease 已提交
395 396 397 398 399 400 401 402 403 404 405 406
| signDisplay              | string  | 是    | 是    | 数字符号的显示格式,取值包括:"auto",&nbsp;"never",&nbsp;"always",&nbsp;"expectZero"。 |
| compactDisplay           | string  | 是    | 是    | 紧凑型的显示格式,取值包括:"long",&nbsp;"short"。      |
| notation                 | string  | 是    | 是    | 数字的格式化规格,取值包括:"standard",&nbsp;"scientific",&nbsp;"engineering",&nbsp;"compact"。 |
| localeMatcher            | string  | 是    | 是    | 要使用的区域匹配算法,取值包括:"lookup",&nbsp;"best&nbsp;fit"。 |
| style                    | string  | 是    | 是    | 数字的显示格式,取值包括:"decimal",&nbsp;"currency",&nbsp;"percent",&nbsp;"unit"。 |
| numberingSystem          | string  | 是    | 是    | 数字系统,取值包括:"adlm",&nbsp;"ahom",&nbsp;"arab",&nbsp;"arabext",&nbsp;"bali",&nbsp;"beng",&nbsp;"bhks",&nbsp;"brah",&nbsp;"cakm",&nbsp;"cham",&nbsp;"deva",&nbsp;"diak",&nbsp;"fullwide",&nbsp;"gong",&nbsp;"gonm",&nbsp;"gujr",&nbsp;"guru",&nbsp;"hanidec",&nbsp;"hmng",&nbsp;"hmnp",&nbsp;"java",&nbsp;"kali",&nbsp;"khmr",&nbsp;"knda",&nbsp;"lana",&nbsp;"lanatham",&nbsp;"laoo",&nbsp;"latn",&nbsp;"lepc",&nbsp;"limb",&nbsp;"mathbold",&nbsp;"mathdbl",&nbsp;"mathmono",&nbsp;"mathsanb",&nbsp;"mathsans",&nbsp;"mlym",&nbsp;"modi",&nbsp;"mong",&nbsp;"mroo",&nbsp;"mtei",&nbsp;"mymr",&nbsp;"mymrshan",&nbsp;"mymrtlng",&nbsp;"newa",&nbsp;"nkoo",&nbsp;"olck",&nbsp;"orya",&nbsp;"osma",&nbsp;"rohg",&nbsp;"saur",&nbsp;"segment",&nbsp;"shrd",&nbsp;"sind",&nbsp;"sinh",&nbsp;"sora",&nbsp;"sund",&nbsp;"takr",&nbsp;"talu",&nbsp;"tamldec",&nbsp;"telu",&nbsp;"thai",&nbsp;"tibt",&nbsp;"tirh",&nbsp;"vaii",&nbsp;"wara",&nbsp;"wcho"。 |
| useGrouping              | boolean | 是    | 是    | 是否分组显示。                                  |
| minimumIntegerDigits     | number  | 是    | 是    | 表示要使用的最小整数位数,取值范围:1~21。                  |
| minimumFractionDigits    | number  | 是    | 是    | 表示要使用的最小分数位数,取值范围:0~20。                  |
| maximumFractionDigits    | number  | 是    | 是    | 表示要使用的最大分数位数,取值范围:1~21。                  |
| minimumSignificantDigits | number  | 是    | 是    | 表示要使用的最低有效位数,取值范围:1~21。                  |
| maximumSignificantDigits | number  | 是    | 是    | 表示要使用的最大有效位数,取值范围:1~21。                  |
Z
zengyawen 已提交
407 408


Z
zengyawen 已提交
409
## Collator<sup>8+</sup>
Z
zengyawen 已提交
410

Z
zengyawen 已提交
411 412 413 414 415 416 417

### constructor<sup>8+</sup>

constructor()

创建排序对象。

S
sunyaozu 已提交
418 419
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
420
**示例:** 
H
HelloCrease 已提交
421
  ```js
Z
zengyawen 已提交
422 423 424 425 426 427
  var collator = new Intl.Collator();
  ```


### constructor<sup>8+</sup>

H
HelloCrease 已提交
428
constructor(locale: string | Array&lt;string&gt;, options?: CollatorOptions)
Z
zengyawen 已提交
429 430 431

创建排序对象。

S
sunyaozu 已提交
432 433
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
434
**参数:** 
Z
zengyawen 已提交
435

H
HelloCrease 已提交
436 437 438 439
| 参数名     | 类型                                  | 必填   | 说明                           |
| ------- | ----------------------------------- | ---- | ---------------------------- |
| locale  | string \| Array&lt;string&gt;       | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
| options | [CollatorOptions](#collatoroptions) | 否    | 用于创建排序对象的选项。                 |
Z
zengyawen 已提交
440

H
HelloCrease 已提交
441
**示例:** 
H
HelloCrease 已提交
442
  ```js
S
sunyaozu 已提交
443
  var collator = new Intl.Collator("zh-CN", {localeMatcher: "lookup", usage: "sort"});
Z
zengyawen 已提交
444 445 446 447 448 449 450 451 452
  ```


### compare<sup>8+</sup>

compare(first: string, second: string): number

依据Collator的排序策略对两个字符串进行比较。

S
sunyaozu 已提交
453 454
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
455 456 457 458 459
**参数:** 
| 参数名    | 类型     | 必填   | 说明           |
| ------ | ------ | ---- | ------------ |
| first  | string | 是    | 进行比较第一个字符串。  |
| second | string | 是    | 进行比较的第二个字符串。 |
Z
zengyawen 已提交
460

H
HelloCrease 已提交
461 462 463 464
**返回值:** 
| 类型     | 说明                                       |
| ------ | ---------------------------------------- |
| number | 比较结果。当number为负数,表示first排序在second之前;当number为0,表示first与second排序相同;当number为正数,表示first排序在second之后。 |
Z
zengyawen 已提交
465

H
HelloCrease 已提交
466
**示例:** 
H
HelloCrease 已提交
467
  ```js
Z
zengyawen 已提交
468
  var collator = new Intl.Collator("zh-Hans");
Z
zengyawen 已提交
469 470 471 472 473 474 475 476 477 478
  collator.compare("first", "second");
  ```


### resolvedOptions<sup>8+</sup>

resolvedOptions(): CollatorOptions

返回Collator对象的属性。

S
sunyaozu 已提交
479 480
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
481 482 483 484
**返回值:** 
| 类型                                  | 说明                |
| ----------------------------------- | ----------------- |
| [CollatorOptions](#collatoroptions) | 返回的Collator对象的属性。 |
Z
zengyawen 已提交
485

H
HelloCrease 已提交
486
**示例:** 
H
HelloCrease 已提交
487
  ```js
Z
zengyawen 已提交
488
  var collator = new Intl.Collator("zh-Hans");
Z
zengyawen 已提交
489 490 491 492
  var options = collator.resolvedOptions();
  ```


H
HelloCrease 已提交
493
## CollatorOptions<sup>8+</sup>
Z
zengyawen 已提交
494 495 496

表示Collator可设置的属性。

H
HelloCrease 已提交
497
**系统能力**:SystemCapability.Global.I18n
S
sunyaozu 已提交
498

H
HelloCrease 已提交
499 500 501 502 503 504 505 506 507
| 名称                | 参数类型    | 可读   | 可写   | 说明                                       |
| ----------------- | ------- | ---- | ---- | ---------------------------------------- |
| localeMatcher     | string  | 是    | 是    | locale匹配算法,取值范围:"best&nbsp;fit",&nbsp;"lookup"。 |
| usage             | string  | 是    | 是    | 比较的用途,取值范围:"sort",&nbsp;"search"。        |
| sensitivity       | string  | 是    | 是    | 表示字符串中的哪些差异会导致非零结果值,取值范围:"base",&nbsp;"accent",&nbsp;"case",&nbsp;"variant"。 |
| ignorePunctuation | boolean | 是    | 是    | 表示是否忽略标点符号,取值范围:true,&nbsp;false。        |
| collation         | string  | 是    | 是    | 排序规则,取值范围:"big5han",&nbsp;"compat",&nbsp;"dict",&nbsp;"direct",&nbsp;"ducet",&nbsp;"eor",&nbsp;"gb2312",&nbsp;"phonebk",&nbsp;"phonetic",&nbsp;"pinyin",&nbsp;"reformed",&nbsp;"searchjl",&nbsp;"stroke",&nbsp;"trad",&nbsp;"unihan",&nbsp;"zhuyin"。 |
| numeric           | boolean | 是    | 是    | 是否使用数字排序,取值范围:true,&nbsp;false。          |
| caseFirst         | string  | 是    | 是    | 表示大写、小写的排序顺序,取值范围:"upper",&nbsp;"lower",&nbsp;"false"。 |
Z
zengyawen 已提交
508 509 510 511 512 513 514 515 516 517 518


## PluralRules<sup>8+</sup>


### constructor<sup>8+</sup>

constructor()

创建PluralRules对象。

S
sunyaozu 已提交
519 520
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
521
**示例:** 
H
HelloCrease 已提交
522
  ```js
Z
zengyawen 已提交
523 524 525 526 527 528
  var pluralRules = new Intl.PluralRules();
  ```


### constructor<sup>8+</sup>

H
HelloCrease 已提交
529
constructor(locale: string | Array&lt;string&gt;, options?: PluralRulesOptions)
Z
zengyawen 已提交
530 531 532

创建PluralRules对象。

S
sunyaozu 已提交
533 534
**系统能力**:SystemCapability.Global.I18n

Z
zengyawen 已提交
535
参数:
H
HelloCrease 已提交
536 537 538 539
| 参数名     | 类型                                       | 必填   | 说明                           |
| ------- | ---------------------------------------- | ---- | ---------------------------- |
| locale  | string \| Array&lt;string&gt;            | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
| options | [PluralRulesOptions](#pluralrulesoptions) | 否    | 用于创建单复数对象的选项。                |
Z
zengyawen 已提交
540

H
HelloCrease 已提交
541
**示例:** 
H
HelloCrease 已提交
542
  ```js
S
sunyaozu 已提交
543
  var pluralRules= new Intl.PluralRules("zh-CN", {"localeMatcher": "lookup", "type": "cardinal"});
Z
zengyawen 已提交
544 545 546 547 548 549 550 551 552
  ```


### select<sup>8+</sup>

select(n: number): string

返回一个字符串表示该数字的单复数类别。

S
sunyaozu 已提交
553 554
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
555 556 557 558
**参数:** 
| 参数名  | 类型     | 必填   | 说明           |
| ---- | ------ | ---- | ------------ |
| n    | number | 是    | 待获取单复数类别的数字。 |
Z
zengyawen 已提交
559

H
HelloCrease 已提交
560 561 562 563
**返回值:** 
| 类型     | 说明                                       |
| ------ | ---------------------------------------- |
| string | 单复数类别,取值包括:"zero","one","two",&nbsp;"few",&nbsp;"many",&nbsp;"others"。 |
Z
zengyawen 已提交
564

H
HelloCrease 已提交
565
**示例:** 
H
HelloCrease 已提交
566
  ```js
Z
zengyawen 已提交
567
  var pluralRules = new Intl.PluralRules("zh-Hans");
Z
zengyawen 已提交
568 569 570 571
  pluralRules.select(1);
  ```


H
HelloCrease 已提交
572
## PluralRulesOptions<sup>8+</sup>
Z
zengyawen 已提交
573 574 575

表示PluralRules对象可设置的属性。

H
HelloCrease 已提交
576
**系统能力**:SystemCapability.Global.I18n
S
sunyaozu 已提交
577

H
HelloCrease 已提交
578 579 580 581 582 583 584 585 586
| 名称                       | 参数类型   | 可读   | 可写   | 说明                                       |
| ------------------------ | ------ | ---- | ---- | ---------------------------------------- |
| localeMatcher            | string | 是    | 是    | locale匹配算法,取值包括:"best&nbsp;fit",&nbsp;"lookup"。 |
| type                     | string | 是    | 是    | 排序的类型,取值包括:"cardinal",&nbsp;"ordinal"。   |
| minimumIntegerDigits     | number | 是    | 是    | 表示要使用的最小整数位数,取值范围:1~21。                  |
| minimumFractionDigits    | number | 是    | 是    | 表示要使用的最小分数位数,取值范围:0~20。                  |
| maximumFractionDigits    | number | 是    | 是    | 表示要使用的最大分数位数,取值范围:1~21。                  |
| minimumSignificantDigits | number | 是    | 是    | 表示要使用的最低有效位数,取值范围:1~21。                  |
| maximumSignificantDigits | number | 是    | 是    | 表示要使用的最大有效位数,取值范围:1~21。                  |
Z
zengyawen 已提交
587 588 589 590 591 592 593 594 595 596 597


## RelativeTimeFormat<sup>8+</sup>


### constructor<sup>8+</sup>

constructor()

创建相对时间格式化对象。

S
sunyaozu 已提交
598 599
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
600
**示例:** 
H
HelloCrease 已提交
601
  ```js
Z
zengyawen 已提交
602 603 604 605 606 607
  var relativetimefmt = new Intl.RelativeTimeFormat();
  ```


### constructor<sup>8+</sup>

H
HelloCrease 已提交
608
constructor(locale: string | Array&lt;string&gt;, options?: RelativeTimeFormatInputOptions)
Z
zengyawen 已提交
609 610 611

创建相对时间格式化对象。

S
sunyaozu 已提交
612 613
**系统能力**:SystemCapability.Global.I18n

Z
zengyawen 已提交
614
参数:
H
HelloCrease 已提交
615 616 617 618
| 参数名     | 类型                                       | 必填   | 说明                           |
| ------- | ---------------------------------------- | ---- | ---------------------------- |
| locale  | string \| Array&lt;string&gt;            | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
| options | [RelativeTimeFormatInputOptions](#relativetimeformatinputoptions) | 否    | 用于创建相对时间格式化对象的选项。            |
Z
zengyawen 已提交
619

H
HelloCrease 已提交
620
**示例:** 
H
HelloCrease 已提交
621
  ```js
Z
zengyawen 已提交
622 623 624 625 626 627
  var relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {"localeMatcher": "lookup", "numeric": "always", "style": "long"});
  ```


### format<sup>8+</sup>

S
sunyaozu 已提交
628
format(value: number, unit: string): string
Z
zengyawen 已提交
629 630 631

依据locale和格式化选项,对value和unit进行格式化。

S
sunyaozu 已提交
632 633
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
634 635 636 637 638
**参数:** 
| 参数名   | 类型     | 必填   | 说明                                       |
| ----- | ------ | ---- | ---------------------------------------- |
| value | number | 是    | 相对时间格式化的数值。                              |
| unit  | string | 是    | 相对时间格式化的单位,取值包括:"year",&nbsp;"quarter",&nbsp;"month",&nbsp;"week",&nbsp;"day",&nbsp;"hour",&nbsp;"minute",&nbsp;"second"。 |
Z
zengyawen 已提交
639

H
HelloCrease 已提交
640 641 642 643
**返回值:** 
| 类型     | 说明         |
| ------ | ---------- |
| string | 格式化后的相对时间。 |
Z
zengyawen 已提交
644

H
HelloCrease 已提交
645
**示例:** 
H
HelloCrease 已提交
646
  ```js
Z
zengyawen 已提交
647 648 649 650 651 652 653
  var relativetimefmt = new Intl.RelativeTimeFormat("zh-CN");
  relativetimefmt.format(3, "quarter")
  ```


### formatToParts<sup>8+</sup>

H
HelloCrease 已提交
654
formatToParts(value: number, unit: string): Array&lt;object&gt;
Z
zengyawen 已提交
655 656 657

返回一个对象数组,表示可用于自定义区域设置格式的相对时间格式。

S
sunyaozu 已提交
658 659
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
660 661 662 663 664
**参数:** 
| 参数名   | 类型     | 必填   | 说明                                       |
| ----- | ------ | ---- | ---------------------------------------- |
| value | number | 是    | 相对时间格式化的数值。                              |
| unit  | string | 是    | 相对时间格式化的单位,取值包括:"year",&nbsp;"quarter",&nbsp;"month",&nbsp;"week",&nbsp;"day",&nbsp;"hour",&nbsp;"minute",&nbsp;"second"。 |
Z
zengyawen 已提交
665

H
HelloCrease 已提交
666 667 668 669
**返回值:** 
| 类型                  | 说明                          |
| ------------------- | --------------------------- |
| Array&lt;object&gt; | 返回可用于自定义区域设置格式的相对时间格式的对象数组。 |
Z
zengyawen 已提交
670

H
HelloCrease 已提交
671
**示例:** 
H
HelloCrease 已提交
672
  ```js
Z
zengyawen 已提交
673 674 675 676 677 678 679 680 681 682 683
  var relativetimefmt = new Intl.RelativeTimeFormat("en", {"numeric": "auto"});
  var parts = relativetimefmt.format(10, "seconds");
  ```


### resolvedOptions<sup>8+</sup>

resolvedOptions(): RelativeTimeFormatResolvedOptions

获取RelativeTimeFormat对象的格式化选项。

S
sunyaozu 已提交
684 685
**系统能力**:SystemCapability.Global.I18n

H
HelloCrease 已提交
686 687 688 689
**返回值:** 
| 类型                                       | 说明                                |
| ---------------------------------------- | --------------------------------- |
| [RelativeTimeFormatResolvedOptions](#relativetimeformatresolvedoptions) | RelativeTimeFormat&nbsp;对象的格式化选项。 |
Z
zengyawen 已提交
690

H
HelloCrease 已提交
691
**示例:** 
H
HelloCrease 已提交
692
  ```js
Z
zengyawen 已提交
693 694 695 696 697
  var relativetimefmt= new Intl.RelativeTimeFormat("en-GB");
  relativetimefmt.resolvedOptions();
  ```


H
HelloCrease 已提交
698
## RelativeTimeFormatInputOptions<sup>8+</sup>
Z
zengyawen 已提交
699 700 701

表示RelativeTimeFormat对象可设置的属性。

H
HelloCrease 已提交
702
**系统能力**:SystemCapability.Global.I18n
S
sunyaozu 已提交
703

H
HelloCrease 已提交
704 705 706 707 708
| 名称            | 参数类型   | 可读   | 可写   | 说明                                       |
| ------------- | ------ | ---- | ---- | ---------------------------------------- |
| localeMatcher | string | 是    | 是    | locale匹配算法,取值包括:"best&nbsp;fit",&nbsp;"lookup"。 |
| numeric       | string | 是    | 是    | 输出消息的格式,取值包括:"always",&nbsp;"auto"。      |
| style         | string | 是    | 是    | 国际化消息的长度,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
Z
zengyawen 已提交
709 710


H
HelloCrease 已提交
711
## RelativeTimeFormatResolvedOptions<sup>8+</sup>
Z
zengyawen 已提交
712 713

表示RelativeTimeFormat对象可设置的属性。
Z
zengyawen 已提交
714

H
HelloCrease 已提交
715
**系统能力**:SystemCapability.Global.I18n
S
sunyaozu 已提交
716

H
HelloCrease 已提交
717 718 719 720 721 722
| 名称              | 参数类型   | 可读   | 可写   | 说明                                       |
| --------------- | ------ | ---- | ---- | ---------------------------------------- |
| locale          | string | 是    | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。             |
| numeric         | string | 是    | 是    | 输出消息的格式,取值包括:"always",&nbsp;"auto"。      |
| style           | string | 是    | 是    | 国际化消息的长度,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
| numberingSystem | string | 是    | 是    | 使用的数字系统。                                 |