1. 程式人生 > >本地化Locale與DateFormat日期時間格式化

本地化Locale與DateFormat日期時間格式化

//本地化:讓程式適應本地的語言和文化環境顯示
//日期,時間,貨幣的本地化
//文字的本地化
public class UseLocalization1 {


//zh   CN
//en   US
//jp   JA
//zh   HK
//en   GB
public static void main(String[] args) {
//日期格式類:格式化日期或時間
//獲取一個日期例項,返回一個DateFormat類的物件
//getDateInstance方法兩個引數
//1. 整數:代表要顯示日期的格式的長短,有FULL,SHORT,LONG等值
//2. Locale物件,代表國家的語言和文化

//Locale,建立該類物件,即建立一個地域物件,可通過建構函式指定語言和國家程式碼
Locale locale1=new Locale("zh", "ZN");
Locale locale2=new Locale("en", "US");

/*
* DateFormat類可以將一個日期/時間類(例如Date類)的物件格式化表示為某地區或語言環境的日期/時間字串,當然也能從字串轉換為日期/時間類。
使用DateFormat類獲取系統的當前時間的示例如下所示:
SHORT 模式的日期為:12-2-17 下午7:43
MEDIUM 模式的日期為:2012-2-17 19:43:39
LONG 模式的日期為:2012年2月17日 下午07時43分39秒
FULL 模式的日期為:2012年2月17日 星期五 下午07時43分39秒 CST*/
DateFormat df=DateFormat.getDateInstance(DateFormat.LONG,locale1);
String date=df.format(new Date()); //format方法用於格式化日期,格式化後的結果以字串返回
System.out.println(date);


//獲取DateFormat的一個時間例項,用於格式化時間
DateFormat df2=DateFormat.getTimeInstance(DateFormat.SHORT,locale2);
String time=df2.format(new Date()); //format方法用於格式化時間,格式化後的結果以字串返回
System.out.println(time);

//NumberFormat用於格式化數字或貨幣等
//getCurrencyInstance方法接受一個Locale物件,並返回一個NumberFormat的貨幣例項,用於格式化貨幣
NumberFormat nf=NumberFormat.getCurrencyInstance(new Locale("zn","ZN"));
String money=nf.format(1000000); //format格式化貨幣,結果以字串形式返回
System.out.println(money);