【實例描述】
在輸出日期信息時,經(jīng)常需要輸出不同格式的日期格式。本實例介紹了String 字符串中日期格式化方法,使用不同的方式輸出String 類的日期格式參數(shù)值,組合這些值實現(xiàn)特殊格式的日期字符串。實例的運行效果如圖4.10 所示。
【實現(xiàn)過程】
在Eclipse 中新建項目DateString,并在其中創(chuàng)建一個DateString.java 文件。在該類的主方法中通過實例化的方法對當前日期進行實例化,然后再通過各種format()方法格式化today 日期對象。核心代碼如下所示:
public class DateString {public static void main(String[] args) {
Date today = new Date();
// 格式化后的字符串為月份的英文縮寫
String a = String.format(Locale.US, "%tb", today);
System.out.println("格式化后的字符串為月份的英文縮寫: " + a);
// 格式化后的字符串為月份的英文全寫
String b = String.format(Locale.US, "%tB", today);
System.out.println("格式化后的字符串為月份的英文縮寫: " + b);
// 格式化后的字符串為星期(如:星期一)
String c = String.format("%ta", today);
System.out.println("月格式化后的字符串為星期: " + c);
// 格式化后的字符串為星期(如:星期一)
String d = String.format("%tA", today);
System.out.println("格式化后的字符串為星期: " + d);
// 格式化后的字符串為4 位的年份值
String e = String.format("%tY", today);
System.out.println("格式化后的字符串為4 位的年份值: " + e);
// 格式化后的字符串為2 位的年份值
String f = String.format("%ty", today);
System.out.println("格式化后的字符串為2 位的年份值: " + f);
// 格式化后的字符串為2 位的月份值
String g = String.format("%tm", today);
System.out.println("格式化后的字符串為2 位的月份值: " + g);
// 格式化后的字符串為2 位的日期值
String h = String.format("%td", today);
System.out.println("格式化后的字符串為2 位的日期值: " + h);
}
}
【代碼解析】
使用String
類的format()方法不但可以完成日期的格式化,也可以實現(xiàn)時間的格式化。時間的格式化轉(zhuǎn)換符要比日期轉(zhuǎn)換符更多、更準確,它甚至可以將時間格式化為時、分、秒、毫秒。
【知識擴展】
在深入使用字符串之前,有一個概念一定要理解,那就是字符串是不可變的對象。理解了這個概念,對后面熟練使用字符串有很大的幫助。字符串的不可變性,意味著每當對字符串進行操作時,都將產(chǎn)生一個新的字符串對象,如果頻繁的操作字符串對象,會在托管堆中產(chǎn)生大量的無用字符串,增加垃圾回收器的壓力,從而造成系統(tǒng)資源的浪費。