java中的Locale类讲解

  • Post author:
  • Post category:java


Locale类是用来国际化数据的

每一个locale对象都代表一个特定的的确,政治文化,地区和创建方法

首先是创建方法:

方法一:调用默认的locale

// 方法一:调用默认的locale
Locale locale = Locale.getDefault();
// zh-CN 华 - 中国  zh-HK 华 - 香港 SARzh-MO 华 - 澳门
System.out.println("locale:"+locale);

方法二:使用Locale.java中的静态对象

//        方法二:使用Locale.java中的静态对象
Locale locale1=Locale.KOREA;
System.out.println("locale1:"+locale1);
//静态对象还有:
//        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(String language)
//        Locale(String language, String country)
//        Locale(String language, String country, String variant)
        Locale locale2=new Locale("汉语", "中国");
        System.out.println("locale2"+locale2);
输出结果:

接下来说明Locale的应用场景:

主要就是应用在不同的地区的显示,下面这个代码是时间对于不同地区的格式变换:

 private static void testDiffDateLocales() {
        Date date=new Date(  );
        // 创建“简体中文”的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);
    }

输出结果:



版权声明:本文为yucan1234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。