程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java時間相關內容學習(6) Locale介紹

Java時間相關內容學習(6) Locale介紹

編輯:關於JAVA

本章介紹Locale。

1 Locale 介紹

Locale 表示地區。每一個Locale對象都代表了一個特定的地理、政治和文化地區。

在操作 Date, Calendar等表示日期/時間的對象時,經常會用到;因為不同的區域,時間表示方式都不同。

下面說說Locale對象的3種常用創建方式。

1 獲取默認的Locale

使用方法:

 Locale locale = Locale.getDefault()

2 直接使用Locale的靜態對象

Locale.java中提供了以下靜態對象

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對象是對應 “中國(大陸)”的

Locale locale = Locale.SIMPLIFIED_CHINESE

3 通過Locale的構造函數創建Locale對象

Locale的構造函數共有3個。如下:

Locale(String language) Locale(String language, String country) Locale(String language, String country, String variant)

使用方法:

Locale local = new Locale("zh", "CN");

Locale類支持非常多的國家和地區。我們可以通過以下方法,查看Locale支持的全部區域:

Locale[] ls = Locale.getAvailableLocales();

for (Locale locale:ls) {    System.out.println("locale :"+locale); }

輸入結果如下:

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

下面選擇其中的兩個進行說明,如何利用它們來創建Locale對象: 例如,第一個輸出是“ja_JP”。

其中,ja代表“語言”,這裡指日語;“JP”代表國家,這裡指日本。 我們可以通過如下方法,創建“語言是日語,國家是日本的Locale對象”。

Locale locale = new Locale("ja", "JP");

例如,第三個輸出是“en”。

其中,en代表“語言”,這裡指英語。 我們可以通過如下方法,創建“語言是英文的Locale對象”。

Locale locale = new Locale("en");

Locale 函數列表

// Locale的構造函數
Locale(String language)
Locale(String language, String country)
Locale(String language, String country, String variant)
     
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()

2 Locale示例

下面通過示例演示在Date中使用Locale的。 參考代碼如下(LocaleTest.java):

import java.util.Locale;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
     
/**
 * Locale 的測試程序
 *
 * @author skywang
 * @email [email protected]
 */
public class LocaleTest {
     
    public static void main(String[] args) {
        // 2種不同的Locale的創建方法
        testDiffDateLocales();
     
        // 顯示所有的Locales
        testAllLocales();
    }
     
     
    /**
     *  2種不同的Locale的創建方法
     */
    private static void testDiffDateLocales() {
        // date為2013-09-19 14:22:30
        Date date = new Date(113, 8, 19, 14, 22, 30);
     
        // 創建“簡體中文”的Locale
        Locale localeCN = Locale.SIMPLIFIED_CHINESE;
        // 創建“英文/美國”的Locale
        Locale localeUS = new Locale("en", "US");
     
        // 獲取“簡體中文”對應的date字符串
        String cn = DateFormat.getDateInstance(DateFormat.MEDIUM, localeCN).format(date);
        // 獲取“英文/美國”對應的date字符串
        String us = DateFormat.getDateInstance(DateFormat.MEDIUM, localeUS).format(date);
     
        System.out.printf("cn=%s\nus=%s\n", cn, us);
    }
     
    /**
     *  顯示所有的Locales
     */
    private static void testAllLocales() {
        Locale[] ls = Locale.getAvailableLocales();
     
        System.out.print("All Locales: ");
        for (Locale locale:ls) {
            System.out.printf(locale+", ");
        }
        System.out.println();
    }
}

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved