java(国际化和格式化)

Locale(java.util包)

  • 方法
    Locale(String language)
    Locale(String language, String country)
    getLanguage()
    getCountry()
    getDefault()
    setDefault(Locale loc)

数字格式化NumberFormat(java.text包)

对数字,货币量,百分比进行格式化和解析
静态的getNumberInstance()/getNumberInstance(Locale loc),获取默认的或指定locale的数字格式实例
静态的getCurrencyInstance()/getCurrencyInstance(Locale loc),获取默认的或指定locale的货币格式实例,对于货币格式的一个替代工具是java.util包中的Currency
静态的getPercentInstance()/getPercentInstance(Locale loc),获取默认的或指定locale的百分比格式实例
String format(double x)
String format(long x)
Number parse(String s)

java.util.Currency

static Currency getInstance(String currencyCode)
static Currency getInstance(Locale loc)
String getCurrencyCode()
String getSymbol()/getSymbol(Locale loc)获取默认的或指定locale的货币符号

日期和时间格式化java.text.DateFormat

getDateInstance
getTimeInstance
getDateTimeInstance
String format(Date date)
Date parse(String s)
setTimeZoon(TimeZone tz)
getTimeZone()

  • SimpleDateFormat

yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)。
K:和hh差不多,表示一天12小时制(0-11)。
z:表示时区

import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 * Created by lxk on 2016/11/4
 */
public class Format {
    public static void main(String[] args) {
        Date ss = new Date();
        System.out.println("一般日期输出:" + ss);
        System.out.println("时间戳:" + ss.getTime());
        SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间
        System.out.println("格式化结果0:" + time);
        SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        time = format1.format(ss.getTime());
        System.out.println("格式化结果1:" + time);
        Date date = format1.parse(time);
    }
}

消息格式化MessageFormat

String msg = MessageFormat.format("{1} loves {0}, but {0} loves {2}", "Alice", "Bob", "Dandy");

源文件的字符编码

注意几个地方的编码,系统编码,编译器的编码,虚拟机的编码
源文件使用的是本地编码(系统默认的编码)
类文件使用的是modified UTF-8编码
虚拟机使用的是UTF-16编码

你可能感兴趣的:(java(国际化和格式化))