参考链接
介绍
Locale 表示地区。
每一个Locale对象都代表了一个特定的地理、政治和文化地区。
语言环境敏感操作:需要Local来执行其任务的操作。
在操作 Date, Calendar等表示日期/时间的对象时,经常会用到;因为不同的区域,时间表示方式都不同。
创建方式
1、获取默认的local
Locale locale = Locale.getDefault()
2、使用local的静态对象
Local.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.SIMPLIFIED_CHINESE
3、通过构造函数创建local对象
Local的构造函数
Locale(String language)
Locale(String language, String country)
Locale(String language, String country, String variant)
使用方法:
Locale local = new Locale("zh", "CN");
函数列表
1、构造函数
// Locale的构造函数
Locale(String language)
Locale(String language, String country)
Locale(String language, String country, String variant)
2、成员函数
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()
使用
1、查看Local支持的全部区域
Locale[] ls = Locale.getAvailableLocales();
for (Locale locale:ls) {
System.out.println("locale :"+locale);
}
2、获取当前java虚拟机当前线程默认的语言环境值
Local defaultLocal = Locale.getDefault();
String country = defaultLocale.getCountry();//返回国家地区代码
String language = defaultLocale.getLanguage();//返回国家的语言
String displayCountry = defaultLocale.getDisplayCountry();//返回适合向用户显示的国家信息
String displayLanaguage = defaultLocale.getDisplayLanaguage();//返回适合向用户展示的语言信息
String displayName = defaultLocale.getDisplayName();//返回适合向用户展示的语言环境名
3、在date中使用local
import java.util.Locale;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
/**
* Locale 的测试程序
*/
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();
}
}