日期格式化

在java中使用DateFormat類(國際化日期)將日期格式化:

DateFormat 類可以將一個日期/時間對象格式化爲表示某個國家地區的日期/時間字符串。

DateFormat 類除了可按國家地區格式化輸出日期外,它還定義了一些用於描述日期/時間的顯示模式的 int 型的常量,包括FULL, LONG, MEDIUM,DEFAULT, SHORT,實例化DateFormat對象時,可以使用這些常量,控制日期/時間的顯示長度。

DateFormat的幾種顯示模式:

SHORT模式完全是數字的,在中文環境下顯示爲“05-9-15下午4:41”;在英文環境下爲“9/15/05 4:41 PM”。

MEDIUM模式比SHORT模式長些,在中文環境顯示爲“2005-9-15 16:41:20”;在英文環境下顯示爲“Sep 15, 2005 4:41:20 PM”。

LONG模式比MEDIUM模式更長一些,在中文環境下顯示爲“2005年9月15日 下午04時41分20秒”;在英文環境下顯示爲“September 15, 2005 4:41:20 PM CST”。

FULL模式指定日期/時間的完整格式,在中文環境下顯示爲“2005年9月15日 星期四 下午04時41分20秒 CST”;在英文環境下,這個日期/時間顯示爲“Thursday, September 15, 2005 4:41:20 PM CST”。

實例化DateFormat類

getDateInstance(int style, LocaleaLocale):以指定的日期顯示模式和本地信息來獲得DateFormat實例對象,該實例對象不處理時間值部分。

getTimeInstance(int style, LocaleaLocale):以指定的時間顯示模式和本地信息來獲得DateFormat實例對象,該實例對象不處理日期值部分。

getDateTimeInstance(intdateStyle, int timeStyle, Locale aLocale):以單獨指定的日期顯示模式、時間顯示模式和本地信息來獲得DateFormat實例對象。

DateFormat 對象的方法:

format: 將日期/時間對象格式化爲符合某個本地環境習慣的字符串。

parse:將符合某個本地環境習慣的日期/時間字符串解析爲日期/時間對象

注意:parse和format完全相反,一個是把date時間轉化爲相應地區和國家的顯示樣式,一個是把相應地區的時間日期轉化成date對象,該方法在使用時,解析的時間或日期要符合指定的國家、地區格式,否則會拋異常。

DateFormat對象通常不是線程安全的,每個線程都應該創建自己的 DateFormat  實例對象

例如:

(1)、創建一個date對象,並把date對象中表示日期部分的時間值,以及表示時間部分的時間值,分別以short、long模式進行格式化輸出(國家設置爲中國)

  

      //獲取時間值

      Date date = new Date();

      String dateStr = date.toString();

      System.out.println("獲取時間:" +dateStr);

      

      //date和time值按照short模式格式化輸出

      DateFormat shortDF = DateFormat.getDateTimeInstance(SimpleDateFormat.SHORT,SimpleDateFormat.SHORT,Locale.CHINA);

      System.out.println("short模式的時間:" + shortDF.format(date));

      //date和time值按照long模式格式化輸出

      DateFormat longDF = DateFormat.getDateTimeInstance(SimpleDateFormat.LONG,SimpleDateFormat.LONG,Locale.CHINA);

      System.out.println("long模式的時間:" + longDF.format(date));


 

       (2)、將時間值:09-11-28 上午10時25分39秒  CST,反向解析成一個date對象

   String str = "09-11-28 上午10時25分39秒 CST";

      String dateStr = str.toString();

      System.out.println(dateStr);

   

      //反向解析

      DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.FULL,Locale.CHINESE);

   

      String dateS = df.parse(dateStr).toString();

      System.out.println("反向解析出的結果:" + dateS);

 

使用標籤實現日期格式化:

日期格式化<fmt:formatDatevalue=“” pattern=“” dateStyle="" timeStyle=" " type=" "/>

value:要格式化的日期

pattern:日期格式化的格式

如:

 //date和time值按照short模式格式化輸出

<fmt:formatDate value="<%=new Date() %>" dateStyle="short"timeStyle="short" type="both"/><br>

//date和time值按照long模式格式化輸出

 <fmt:formatDate value="<%=new Date() %>" dateStyle="long"timeStyle="long" type="both"/>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章