java--locale类简介

Locale类 介绍

  • Locale 表示地区。每一个Locale对象都代表了一个特定的地理、政治和文化地区。
  • 在操作 Date, Calendar等表示日期/时间的对象时,经常会用到;因为不同的区域,时间表示方式都不同。
    在这里插入图片描述

获取默认的Locale

(1)Locale.getDefault()

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);
 
}

输入结果如下:

在这里插入图片描述
下面选择其中的两个进行说明,如何利用它们来创建Locale对象:

  • 案例一
    例如,第一个输出是“ja_JP”。 其中,ja代表“语言”,这里指日语;“JP”代表国家,这里指日本。
    我们可以通过如下方法,创建“语言是日语,国家是日本的Locale对象”。
Locale locale = new Locale( "ja" , "JP" );
  • 案例二
    例如,第三个输出是“en”。
    其中,en代表“语言”,这里指英语。
    我们可以通过如下方法,创建“语言是英文的Locale对象”。
Locale locale = new Locale( "en" );

在这里插入图片描述

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 的测试程序
 */
 
public class LocaleTest {
 
 
 
  publicstatic void main(String[] args) {
 
    // 2种不同的Locale的创建方法
 
    testDiffDateLocales();
 
 
 
    // 显示所有的Locales
 
    testAllLocales();
 
  }
 
 
 
 
 
  /**
   * 2种不同的Locale的创建方法
   */
 
  privatestatic 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
   */
 
  privatestatic void testAllLocales() {
 
    Locale[] ls = Locale.getAvailableLocales();
 
 
 
    System.out.print("All Locales: ");
 
    for(Locale locale:ls) {
 
      System.out.printf(locale+", ");
 
    }
 
    System.out.println();
 
  }
 
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值