# åŒºåŸŸæ ‡è¯†ä¸Žæ–‡åŒ–ä¹ æƒ¯åˆ’åˆ† ## åŠŸèƒ½ä»‹ç» å¹¿ä¹‰åœ°è®²ï¼ŒåŒºåŸŸæ ‡è¯†æ˜¯æŒ‡é€šè¿‡æ•°å—ã€å—æ¯ã€ç¬¦å·æˆ–组åˆï¼Œä½œä¸ºå”¯ä¸€æ ‡è¯†è¯†åˆ«ç‰¹å®šåœ°ç†åŒºåŸŸã€‚ 在国际化ä¸ï¼ŒåŒºåŸŸæ ‡è¯†æ˜¯å¯¹ç”¨æˆ·ç¾¤ä½“的抽象,包括用户è¯è¨€ã€è„šæœ¬ï¼ˆä½¿ç”¨çš„æ–‡å—ç³»ç»Ÿï¼Œå¦‚ä¸æ–‡å¯ç”¨ç®€ä½“å—æˆ–ç¹ä½“å—ï¼‰ã€æ‰€åœ¨å›½å®¶æˆ–地区,以åŠå…¶ä»–ä¸€äº›æ–‡åŒ–ä¹ æƒ¯ï¼ˆå¦‚åŽ†æ³•ã€æ•°å—系统)ç‰ã€‚åŒºåŸŸæ ‡è¯†æ˜¯åº”ç”¨å®žçŽ°å›½é™…åŒ–èƒ½åŠ›çš„åŸºç¡€ï¼Œå¼€å‘过程ä¸éœ€é€šè¿‡ç›®æ ‡åŒºåŸŸæ ‡è¯†å¯¹è±¡æŽ§åˆ¶å’Œå®žçŽ°å›½é™…åŒ–è¡Œä¸ºã€‚ ## å®žçŽ°åŽŸç† åŒºåŸŸæ ‡è¯†ç”±è¯è¨€ã€è„šæœ¬ã€å›½å®¶åœ°åŒºå’Œæ‰©å±•傿•°å››éƒ¨åˆ†ç»„æˆã€‚å…¶ä¸ï¼Œè¯è¨€æ˜¯å¿…填内容,详细说明å¯å‚考表1;支æŒçš„æ‰©å±•傿•°å‚考表2,ä¸åŒè¯è¨€å¯¹åº”的数å—系统å‚考表3ï¼Œè¡¨ä¸æœªåˆ—出的è¯è¨€å‡ä½¿ç”¨é˜¿æ‹‰ä¼¯æ•°å—系统。 **表1** åŒºåŸŸæ ‡è¯†ç»„æˆ | ç»„æˆæˆåˆ† | 说明 | | -------- | -------- | | è¯è¨€ | 表示用户使用的è¯è¨€ï¼Œç”±2~3个å°å†™è‹±æ–‡å—æ¯ç»„æˆã€‚ä¾‹å¦‚ï¼Œä¸æ–‡ä½¿ç”¨â€zhâ€è¡¨ç¤ºã€‚<br/>更多è¯è¨€ä»£ç 列表请å‚考ISO-639æ ‡å‡†ã€‚ | | 脚本 | 表示用户使用的å—ç¬¦é›†ï¼Œç”±é¦–å—æ¯å¤§å†™çš„4ä¸ªè‹±æ–‡å—æ¯ç»„æˆã€‚例如,简体使用â€Hansâ€è¡¨ç¤ºã€‚<br/>更多脚本代ç 列表请å‚考ISO-15924æ ‡å‡†ã€‚ | | 国家地区 | 表示用户所在的国家或地区,使用2ä¸ªå¤§å†™è‹±æ–‡å—æ¯è¡¨ç¤ºã€‚例如,ä¸å›½ä½¿ç”¨â€CNâ€è¡¨ç¤ºã€‚<br/>更多的国家地区代ç 列表请å‚考ISO-3166æ ‡å‡†ã€‚ | | æ‰©å±•å‚æ•° | 表示用户其他的特å¾ï¼ŒåŒ…括历法ã€å—符串排åºã€æ•°å—系统ã€å°æ—¶å‘¨æœŸï¼Œç”±å°å†™å—æ¯u开头,æ¯ä¸€ä¸ªæ‰©å±•傿•°ç”±keyå’Œvalue组æˆï¼Œä½¿ç”¨ä¸åˆ’线拼接。例如,农历拼音排åºä½¿ç”¨â€u-ca-chinese-co-pinyinâ€ã€‚<br/>支æŒçš„æ‰©å±•傿•°è¯·å‚考表2ï¼Œæ›´å¤šçš„æ‰©å±•å‚æ•°å–值请å‚考BCP 47扩展。 | **表2** æ‰©å±•å‚æ•° | 傿•° | 说明 | | -------- | -------- | | ca | 表示用户使用的历法系统。例如,农历使用â€chineseâ€è¡¨ç¤ºã€‚ | | co | 表示用户使用的å—符串排åºè§„则,包括。例如,按照拼音排åºä½¿ç”¨â€pinyinâ€è¡¨ç¤ºã€‚ | | hc | è¡¨ç¤ºç”¨æˆ·ä½¿ç”¨çš„å°æ—¶å‘¨æœŸã€‚例如,0~11å°æ—¶å‘¨æœŸä½¿ç”¨â€h11â€è¡¨ç¤ºã€‚ | | nu | 表示用户使用的数å—系统。例如,阿拉伯数å—系统使用â€arabâ€è¡¨ç¤ºï¼Œå…·ä½“请å‚考表3。 | | kn | è¡¨ç¤ºç”¨æˆ·æŽ’åºæ—¶å¯¹æ•°å—çš„å¤„ç†æ–¹å¼ã€‚<br/>- “trueâ€è¡¨ç¤ºå°†æ•°å—作为整体进行数值比较。<br/>- “falseâ€è¡¨ç¤ºå°†æ•°å—作为普通å—符比较。 | | kf | è¡¨ç¤ºç”¨æˆ·æŽ’åºæ—¶æ˜¯å¦è€ƒè™‘å—符的大å°å†™ã€‚<br/>- “upperâ€è¡¨ç¤ºå°†å¤§å†™å—æ¯æŽ’åºåœ¨å‰ã€‚<br/>- “lowerâ€è¡¨ç¤ºå°†å°å†™å—æ¯æŽ’åºåœ¨å‰ã€‚<br/>- “falseâ€è¡¨ç¤ºä½¿ç”¨å½“å‰åŒºåŸŸçš„默认值。 | **表3** è¯è¨€å’Œæœ¬åœ°æ•°å—系统 | è¯è¨€ | 本地数å—系统 | | -------- | -------- | | ar | arab | | as | beng | | bn | beng | | fa | arabext | | mr | deva | | my | mymr | | ne | deva | | ur | latn | | å…¶ä»–è¯è¨€ | arab | ## 开呿¥éª¤ ä»¥æ—¶é—´æ—¥æœŸæ ¼å¼åŒ–为例,[DateTimeFormat](../reference/apis-localization-kit/js-apis-intl.md#datetimeformat)类的详细说明请å‚考API文档。 1. 导入模å—。 ```ts import { intl } from '@kit.LocalizationKit'; ``` 2. åˆ›å»ºåŒºåŸŸæ ‡è¯†å¯¹è±¡ã€‚å¦‚ä¸‹ç»™å‡ºäº†ä¸‰ç§æ–¹æ³•。 - 按照实现原ç†ä¸ç»™å‡ºçš„æ ¼å¼ï¼Œå°†åŒºåŸŸè¯†åˆ«çš„å—ç¬¦ä¸²ä¼ å…¥Localeæž„é€ å‡½æ•°ï¼Œåˆ›å»ºåŒºåŸŸè¯†åˆ«å¯¹è±¡ã€‚ - 在LocaleOptionsä¸é…置区域特性,然åŽä½¿ç”¨åŒºåŸŸæ ‡è¯†å—符串和LocaleOptions创建区域识别对象。通过LocaleOptions对象设置的属性会自动覆盖å—符串ä¸å¯¹åº”的属性值。 - 使用默认的Localeæž„é€ å‡½æ•°ï¼Œåˆ›å»ºåŒºåŸŸè¯†åˆ«å¯¹è±¡ã€‚ä½¿ç”¨é»˜è®¤Localeæž„é€ å‡½æ•°åˆ›å»ºçš„åŒºåŸŸå¯¹è±¡è¡¨ç¤ºå½“å‰ç³»ç»ŸåŒºåŸŸã€‚ ```ts let date = new Date(2023, 9, 15); // æ–¹æ³•ä¸€ï¼šé€šè¿‡åŒºåŸŸæ ‡è¯†å—ç¬¦ä¸²åˆ›å»ºåŒºåŸŸæ ‡è¯†å¯¹è±¡ let zhLocale = new intl.Locale("zh-Hans-CN-u-nu-latn"); // æ–¹æ³•äºŒï¼šé€šè¿‡åŒºåŸŸæ ‡è¯†å—符串和LocaleOptionså¯¹è±¡åˆ›å»ºåŒºåŸŸæ ‡è¯†å¯¹è±¡ let enLocale = new intl.Locale("en", {numberingSystem: "latn"}); // 方法三:通过默认Localeå‡½æ•°åˆ›å»ºç³»ç»ŸåŒºåŸŸæ ‡è¯†å¯¹è±¡ let systemLocale = new intl.Locale(); ``` 3. æ ¼å¼åŒ–时间日期。 创建区域识别对象åŽï¼Œå°†å…¶ä¼ å…¥æ—¶é—´æ—¥æœŸæ ¼å¼ç±»çš„æž„é€ å‡½æ•°ï¼Œåˆ›å»ºæŒ‡å®šåŒºåŸŸæ ‡è¯†çš„æ—¶é—´æ—¥æœŸæ ¼å¼åŒ–ç±»ï¼Œå¹¶å®žçŽ°æ ¼å¼åŒ–。与æ¥éª¤2对应,æ¥éª¤3呈现了三ç§å®žçŽ°æ—¶é—´æ—¥æœŸæ ¼å¼åŒ–的方法。 ```ts // 方法一 let zhDateTimeFmt = new intl.DateTimeFormat(zhLocale.toString()); let result = zhDateTimeFmt.format(date); // result = "2023/10/15" // 方法二 let enDateTimeFmt = new intl.DateTimeFormat(enLocale.toString()); result = enDateTimeFmt.format(date); // result = "10/15/23" // 方法三 let systemDateTimeFmt = new intl.DateTimeFormat(systemLocale.toString()); result = systemDateTimeFmt.format(date); // result = "2023/10/15" (具体显示效果ä¾èµ–于当å‰ç³»ç»ŸçŽ¯å¢ƒï¼‰ ```