包含java中aLocale的词条

博主:adminadmin 2023-01-26 04:09:05 294

本篇文章给大家谈谈java中aLocale,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中的locale类是干什么的?

Locale 对象表示了特定的地理、政治和文化地区。需要 Locale

来执行其任务的操作称为语言环境敏感的 操作,它使用 Locale

为用户量身定制信息。例如,显示一个数值就是语言环境敏感的操作,应该根据用户的国家、地区或文化的风俗/传统来格式化该数值。

其实应该就是取当前操作系统一些信息,进行本地化处理啊、不能把你的日期时间显示成美国的,你肯定看不懂啊、

java中如何对时间做国际化处理啊

import java.util.*;

import java.text.*;

public class timeText {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Date now = new Date();

Calendar cal = Calendar.getInstance();

DateFormat d1 = DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53)

String str1 = d1.format(now);

DateFormat d2 = DateFormat.getDateTimeInstance();//获取系统时间格式

String str2 = d2.format(now); //将时间格式转换成字符串

DateFormat d3 = DateFormat.getTimeInstance();

String str3 = d3.format(now);

DateFormat d4 = DateFormat.getInstance(); //使用SHORT风格显示日期和时间

String str4 = d4.format(now);

DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,时间(精确到秒)

String str5 = d5.format(now);

DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期。时间(精确到秒)

String str6 = d6.format(now);

DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,时间(精确到分)

String str7 = d7.format(now);

DateFormat d8 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //显示日期,时间(精确到分)

String str8 = d8.format(now);//与SHORT风格相比,这种方式最好用

System.out.println("用Date方式显示时间: " + now);//此方法显示的结果和Calendar.getInstance().getTime()一样

System.out.println("用DateFormat.getDateInstance()格式化时间后为:" + str1);

System.out.println("用DateFormat.getDateTimeInstance()格式化时间后为:" + str2);

System.out.println("用DateFormat.getTimeInstance()格式化时间后为:" + str3);

System.out.println("用DateFormat.getInstance()格式化时间后为:" + str4);

System.out.println("用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化时间后为:" + str5);

System.out.println("用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化时间后为:" + str6);

System.out.println("用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化时间后为:" + str7);

System.out.println("用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化时间后为:" + str8);

}

}

运行结果:

用Date方式显示时间: Mon Jun 16 20:54:53 CST 2008

用DateFormat.getDateInstance()格式化时间后为:2008-6-16

用DateFormat.getDateTimeInstance()格式化时间后为:2008-6-16 20:54:53

用DateFormat.getTimeInstance()格式化时间后为:20:54:53

用DateFormat.getInstance()格式化时间后为:08-6-16 下午8:54

用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化时间后为

:2008年6月16日 星期一 下午08时54分53秒 CST

用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化时间后为

:2008年6月16日 下午08时54分53秒

用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化时间后

为:08-6-16 下午8:54

用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化时间

后为:2008-6-16 20:54:53

或者直接获取毫秒,但是感觉与你问题无关

java中 locale类 及相关方法

在项目中经常要用到将字符串解析成Locale,但是没有一个比较好用的类。

java本身提供了3个构造函数

Locale(langugae)

locale(language,country)

Locale(String language, String country, String variant)

Apache 有个 LocaleUtils.toLocale(String language)但是不支持最后2个字符为小写的,如:zh_CN支持, zh_cn就不支持。

[java] view plaincopyprint?

import java.util.Locale;

public class LocaleUtil

{

private final static Locale DEFAULT_LOCALE = Locale.ENGLISH;

public final static String IETF_SEPARATOR = "-";

public final static String SEPARATOR = "_";

public final static String EMPTY_STRING = "";

public static Locale toLocale( String language )

{

if( !StringUtil.isNullOrEmpty( language ) )

{

return langToLocale( language, SEPARATOR );

}

return DEFAULT_LOCALE;

}

public static Locale langToLocale( String lang , String separator )

{

if( StringUtil.isNullOrEmpty( lang ) )

{

return DEFAULT_LOCALE;

}

String language = EMPTY_STRING;

String country = EMPTY_STRING;

String variant = EMPTY_STRING;

int i1 = lang.indexOf( separator );

if ( i1 0 )

{

language = lang;

} else

{

language = lang.substring(0, i1);

++i1;

int i2 = lang.indexOf( separator, i1);

if (i2 0)

{

country = lang.substring(i1);

} else

{

country = lang.substring(i1, i2);

variant = lang.substring(i2+1);

}

}

if(language.length() == 2)

{

language = language.toLowerCase();

}else

{

language = EMPTY_STRING;

}

if(country.length() == 2)

{

country = country.toUpperCase();

}else

{

country = EMPTY_STRING;

}

if( (variant.length() 0)

((language.length() == 2) ||(country.length() == 2)) )

{

variant = variant.toUpperCase();

}else

{

variant = EMPTY_STRING;

}

return new Locale(language, country, variant );

}

}

import java.util.Locale;

public class LocaleUtil

{

private final static Locale DEFAULT_LOCALE = Locale.ENGLISH;

public final static String IETF_SEPARATOR = "-";

public final static String SEPARATOR = "_";

public final static String EMPTY_STRING = "";

public static Locale toLocale( String language )

{

if( !StringUtil.isNullOrEmpty( language ) )

{

return langToLocale( language, SEPARATOR );

}

return DEFAULT_LOCALE;

}

public static Locale langToLocale( String lang , String separator )

{

if( StringUtil.isNullOrEmpty( lang ) )

{

return DEFAULT_LOCALE;

}

String language = EMPTY_STRING;

String country = EMPTY_STRING;

String variant = EMPTY_STRING;

int i1 = lang.indexOf( separator );

if ( i1 0 )

{

language = lang;

} else

{

language = lang.substring(0, i1);

++i1;

int i2 = lang.indexOf( separator, i1);

if (i2 0)

{

country = lang.substring(i1);

} else

{

country = lang.substring(i1, i2);

variant = lang.substring(i2+1);

}

}

if(language.length() == 2)

{

language = language.toLowerCase();

}else

{

language = EMPTY_STRING;

}

if(country.length() == 2)

{

country = country.toUpperCase();

}else

{

country = EMPTY_STRING;

}

if( (variant.length() 0)

((language.length() == 2) ||(country.length() == 2)) )

{

variant = variant.toUpperCase();

}else

{

variant = EMPTY_STRING;

}

return new Locale(language, country, variant );

}

}

注意:

public class StringUtil

{

public static boolean isNullOrEmpty(String target) {

return target == null || "".equals(target);

}

}

关于java中aLocale和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。