1# 设置用户偏好(仅对系统应用开放)
2
3## 使用场景
4
5除区域设置和应用偏好语言设置外,系统还可以设置用户偏好,当前支持是否使用本地数字、是否使用12/24小时制两种偏好。用户偏好设置会保存到系统区域标识及应用偏好语言中,最终体现在用户界面的国际化特性上。
6
7## 开发步骤
8
9接口具体使用方法和说明请参考[setUsingLocalDigit](../reference/apis-localization-kit/js-apis-i18n-sys.md#setusinglocaldigit9)和[set24HourClock](../reference/apis-localization-kit/js-apis-i18n-sys.md#set24hourclock9)的API文档。
10
11
121. 导入模块。
13   ```ts
14   import { i18n, intl } from '@kit.LocalizationKit';
15   import { BusinessError } from '@kit.BasicServicesKit';
16   ```
17
182. 获取应用偏好语言。
19   ```ts
20   // 获取应用偏好语言
21   let appPreferredLanguage: string = i18n.System.getAppPreferredLanguage();
22   ```
23
243. 设置应用界面数字。
25   ```ts
26   try {
27     i18n.System.setUsingLocalDigit(true); // 打开本地化数字开关
28   } catch(error) {
29     let err: BusinessError = error as BusinessError;
30     console.error(`call System.setUsingLocalDigit failed, error code: ${err.code}, message: ${err.message}.`);
31   }
32   let date = new Date(2023, 9, 25);
33   let appPreferredLanguage = "ar";
34   let dateTimeFmt = new intl.DateTimeFormat(appPreferredLanguage);
35   let result = dateTimeFmt.format(date); // result = "٢٠٢٣/١٠/٢٥"(采用阿语本地数字表示)
36   ```
37
384. 设置格式化的24小时制。
39   ```ts
40   try {
41     i18n.System.set24HourClock(true); // true表示打开24小时制开关,false表示打开12小时制开关
42   } catch(error) {
43     let err: BusinessError = error as BusinessError;
44     console.error(`call System.set24HourClock failed, error code: ${err.code}, message: ${err.message}.`);
45   }
46   let date = new Date(2023, 9, 25, 16, 48, 0);
47   let appPreferredLanguage = "zh";
48   let dateTimeFmt = new intl.DateTimeFormat(appPreferredLanguage, { timeStyle: "medium" });
49   let result = dateTimeFmt.format(date); // result = "16:48:00"
50   ```
51