java Locale類(lèi)的使用及說(shuō)明
1、定義
Locale 表示地區(qū)。
每一個(gè)Locale對(duì)象都代表了一個(gè)特定的地理、政治和文化地區(qū)。
在操作 Date, Calendar等表示日期/時(shí)間的對(duì)象時(shí),經(jīng)常會(huì)用到;因?yàn)椴煌膮^(qū)域,時(shí)間表示方式都不同。
2、Locale對(duì)象的3種常用創(chuàng)建方式
第一種:
Locale locale = Locale.getDefault();
第二種:使用默認(rèn)的靜態(tài)方法
public static final Locale CANADA public static final Locale CANADA_FRENCH public static final Locale CHINA public static final Locale CHINESE public static final Locale ENGLISH public static final Locale FRANCE public static final Locale FRENCH public static final Locale GERMAN public static final Locale GERMANY public static final Locale ITALIAN public static final Locale ITALY public static final Locale JAPAN public static final Locale JAPANESE public static final Locale KOREA public static final Locale KOREAN public static final Locale PRC public static final Locale ROOT public static final Locale SIMPLIFIED_CHINESE public static final Locale TAIWAN public static final Locale TRADITIONAL_CHINESE public static final Locale UK public static final Locale US
第三種:通過(guò)Locale的構(gòu)造函數(shù)創(chuàng)建Locale對(duì)象(3個(gè)構(gòu)造方法)
Locale(String language) Locale(String language, String country) Locale(String language, String country, String variant)
使用方法
Locale local = new Locale( "zh" , "CN" );
Locale類(lèi)支持非常多的國(guó)家和地區(qū)。我們可以通過(guò)以下方法,查看Locale支持的全部區(qū)域:
for (Locale availableLocale : Locale.getAvailableLocales()) {
System.out.println(availableLocale);
}結(jié)果如下:
[All Locales: ja_JP, es_PE, en, ja_JP_JP, es_PA, sr_BA, mk, es_GT, ar_AE, no_NO, sq_AL, bg, ar_IQ, ar_YE, hu, pt_PT, el_CY, ar_QA, mk_MK, sv, de_CH, en_US, fi_FI, is, cs, en_MT, sl_SI, sk_SK, it, tr_TR, zh, th, ar_SA, no, en_GB, sr_CS, lt, ro, en_NZ, no_NO_NY, lt_LT, es_NI, nl, ga_IE, fr_BE, es_ES, ar_LB, ko, fr_CA, et_EE, ar_KW, sr_RS, es_US, es_MX, ar_SD, in_ID, ru, lv, es_UY, lv_LV, iw, pt_BR, ar_SY, hr, et, es_DO, fr_CH, hi_IN, es_VE, ar_BH, en_PH, ar_TN, fi, de_AT, es, nl_NL, es_EC, zh_TW, ar_JO, be, is_IS, es_CO, es_CR, es_CL, ar_EG, en_ZA, th_TH, el_GR, it_IT, ca, hu_HU, fr, en_IE, uk_UA, pl_PL, fr_LU, nl_BE, en_IN, ca_ES, ar_MA, es_BO, en_AU, sr, zh_SG, pt, uk, es_SV, ru_RU, ko_KR, vi, ar_DZ, vi_VN, sr_ME, sq, ar_LY, ar, zh_CN, be_BY, zh_HK, ja, iw_IL, bg_BG, in, mt_MT, es_PY, sl, fr_FR, cs_CZ, it_CH, ro_RO, es_PR, en_CA, de_DE, ga, de_LU, de, es_AR, sk, ms_MY, hr_HR, en_SG, da, mt, pl, ar_OM, tr, th_TH_TH, el, ms, sv_SE, da_DK, es_HN]
下面選擇其中的兩個(gè)進(jìn)行說(shuō)明,如何利用它們來(lái)創(chuàng)建Locale對(duì)象:
例如,第一個(gè)輸出是“ja_JP”。
其中,ja代表“語(yǔ)言”,這里指日語(yǔ);“JP”代表國(guó)家,這里指日本。
我們可以通過(guò)如下方法,創(chuàng)建“語(yǔ)言是日語(yǔ),國(guó)家是日本的Locale對(duì)象”。
Locale locale = new Locale( "ja" , "JP" );
例如,第三個(gè)輸出是“en”。
其中,en代表“語(yǔ)言”,這里指英語(yǔ)。
我們可以通過(guò)如下方法,創(chuàng)建“語(yǔ)言是英文的Locale對(duì)象”。
Locale locale = new Locale( "en" );
3、方法
Object clone() boolean equals(Object object) static Locale[] getAvailableLocales() String getCountry() static Locale getDefault() String getDisplayCountry(Locale locale) final String getDisplayCountry() final String getDisplayLanguage() String getDisplayLanguage(Locale locale) String getDisplayName(Locale locale) final String getDisplayName() final String getDisplayVariant() String getDisplayVariant(Locale locale) String getISO3Country() String getISO3Language() static String[] getISOCountries() static String[] getISOLanguages() String getLanguage() String getVariant() synchronized int hashCode() synchronized static void setDefault(Locale locale) final String toString()
4、應(yīng)用場(chǎng)景
主要就是應(yīng)用在不同的地區(qū)的顯示,下面這個(gè)代碼是時(shí)間對(duì)于不同地區(qū)的格式變換
// date為2022-09-19 14:22:30
Date date =new Date(113,8, 19,14, 22,30);
// 創(chuàng)建“簡(jiǎn)體中文”的Locale
Locale localeCN = Locale.SIMPLIFIED_CHINESE;
// 創(chuàng)建“英文/美國(guó)”的Locale
Locale localeUS =new Locale("en","US");
// 獲取“簡(jiǎn)體中文”對(duì)應(yīng)的date字符串
String cn = DateFormat.getDateInstance(DateFormat.MEDIUM, localeCN).format(date);
// 獲取“英文/美國(guó)”對(duì)應(yīng)的date字符串
String us = DateFormat.getDateInstance(DateFormat.MEDIUM, localeUS).format(date);
System.out.printf("cn=%s\nus=%s\n", cn, us);//cn=2013-9-19 us=Sep 19, 2013總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker報(bào)錯(cuò)pass store is uninitialized修復(fù)實(shí)現(xiàn)方式
文章介紹了如何在Linux系統(tǒng)上使用docker-credential-pass進(jìn)行Docker憑證管理的步驟,包括下載、安裝依賴(lài)、生成GPG密鑰、配置pass和docker-credential-pass,以及最終進(jìn)行Docker登錄2026-02-02
MyBatis學(xué)習(xí)教程(五)-實(shí)現(xiàn)關(guān)聯(lián)表查詢(xún)方法詳解
本文給大家介紹mybatis關(guān)聯(lián)查詢(xún),包括一對(duì)一關(guān)聯(lián)查詢(xún),一對(duì)多關(guān)聯(lián)查詢(xún),代碼簡(jiǎn)單易懂,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
spring schedule任務(wù)調(diào)度方式
這篇文章主要介紹了spring schedule任務(wù)調(diào)度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05
關(guān)于Spring Boot動(dòng)態(tài)權(quán)限變更問(wèn)題的實(shí)現(xiàn)方案
這篇文章主要介紹了Spring Boot動(dòng)態(tài)權(quán)限變更實(shí)現(xiàn)的整體方案使用session作為緩存,結(jié)合AOP技術(shù)進(jìn)行token認(rèn)證和權(quán)限控制,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-06-06
程序包org.springframework.boot不存在的問(wèn)題解決
本文主要介紹了程序包org.springframework.boot不存在的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程圖解
這篇文章主要介紹了SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

