【实例描述】
在输出日期信息时,经常需要输出不同格式的日期格式。本实例介绍了String 字符串中日期格式化方法,使用不同的方式输出String 类的日期格式参数值,组合这些值实现特殊格式的日期字符串。实例的运行效果如图4.10 所示。
【实现过程】
在Eclipse 中新建项目DateString,并在其中创建一个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()方法不但可以完成日期的格式化,也可以实现时间的格式化。时间的格式化转换符要比日期转换符更多、更准确,它甚至可以将时间格式化为时、分、秒、毫秒。
【知识扩展】
在深入使用字符串之前,有一个概念一定要理解,那就是字符串是不可变的对象。理解了这个概念,对后面熟练使用字符串有很大的帮助。字符串的不可变性,意味着每当对字符串进行操作时,都将产生一个新的字符串对象,如果频繁的操作字符串对象,会在托管堆中产生大量的无用字符串,增加垃圾回收器的压力,从而造成系统资源的浪费。