java Locale類的使用及說明
1、定義
Locale 表示地區(qū)。
每一個Locale對象都代表了一個特定的地理、政治和文化地區(qū)。
在操作 Date, Calendar等表示日期/時間的對象時,經(jīng)常會用到;因為不同的區(qū)域,時間表示方式都不同。
2、Locale對象的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
第三種:通過Locale的構(gòu)造函數(shù)創(chuàng)建Locale對象(3個構(gòu)造方法)
Locale(String language) Locale(String language, String country) Locale(String language, String country, String variant)
使用方法
Locale local = new Locale( "zh" , "CN" );
Locale類支持非常多的國家和地區(qū)。我們可以通過以下方法,查看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]
下面選擇其中的兩個進(jìn)行說明,如何利用它們來創(chuàng)建Locale對象:
例如,第一個輸出是“ja_JP”。
其中,ja代表“語言”,這里指日語;“JP”代表國家,這里指日本。
我們可以通過如下方法,創(chuàng)建“語言是日語,國家是日本的Locale對象”。
Locale locale = new Locale( "ja" , "JP" );
例如,第三個輸出是“en”。
其中,en代表“語言”,這里指英語。
我們可以通過如下方法,創(chuàng)建“語言是英文的Locale對象”。
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)用場景
主要就是應(yīng)用在不同的地區(qū)的顯示,下面這個代碼是時間對于不同地區(qū)的格式變換
// date為2022-09-19 14:22:30
Date date =new Date(113,8, 19,14, 22,30);
// 創(chuàng)建“簡體中文”的Locale
Locale localeCN = Locale.SIMPLIFIED_CHINESE;
// 創(chuàng)建“英文/美國”的Locale
Locale localeUS =new Locale("en","US");
// 獲取“簡體中文”對應(yīng)的date字符串
String cn = DateFormat.getDateInstance(DateFormat.MEDIUM, localeCN).format(date);
// 獲取“英文/美國”對應(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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker報錯pass store is uninitialized修復(fù)實現(xiàn)方式
文章介紹了如何在Linux系統(tǒng)上使用docker-credential-pass進(jìn)行Docker憑證管理的步驟,包括下載、安裝依賴、生成GPG密鑰、配置pass和docker-credential-pass,以及最終進(jìn)行Docker登錄2026-02-02
MyBatis學(xué)習(xí)教程(五)-實現(xiàn)關(guān)聯(lián)表查詢方法詳解
本文給大家介紹mybatis關(guān)聯(lián)查詢,包括一對一關(guān)聯(lián)查詢,一對多關(guān)聯(lián)查詢,代碼簡單易懂,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
spring schedule任務(wù)調(diào)度方式
這篇文章主要介紹了spring schedule任務(wù)調(diào)度方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05
關(guān)于Spring Boot動態(tài)權(quán)限變更問題的實現(xiàn)方案
這篇文章主要介紹了Spring Boot動態(tài)權(quán)限變更實現(xiàn)的整體方案使用session作為緩存,結(jié)合AOP技術(shù)進(jìn)行token認(rèn)證和權(quán)限控制,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-06-06
程序包org.springframework.boot不存在的問題解決
本文主要介紹了程序包org.springframework.boot不存在的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程圖解
這篇文章主要介紹了SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

