【实例描述】
在输出日期信息时,经常需要输出不同格式的日期格式。本实例介绍了String字符串中日期格式化方法,使用不同的方式输出String类的日期格式参数值,组合这些值实现特殊格式的日期字符串。实例的运行效果如图4.10所示。
【实现过程】
在Eclipse中新建项目DateString,并在其中创建一个DateString.java文件。在该类的主方法中通过实例化的方法对当前日期进行实例化,然后再通过各种format()方法格式化today日期对象。核心代码如下所示:
publicclassDateString{publicstaticvoidmain(String[]args){Datetoday=newDate();//格式化后的字符串为月份的英文缩写Stringa=String.format(Locale.US,"%tb",today);System.out.println("格式化后的字符串为月份的英文缩写:"+a);//格式化后的字符串为月份的英文全写Stringb=String.format(Locale.US,"%tB",today);System.out.println("格式化后的字符串为月份的英文缩写:"+b);//格式化后的字符串为星期(如:星期一)Stringc=String.format("%ta",today);System.out.println("月格式化后的字符串为星期:"+c);//格式化后的字符串为星期(如:星期一)Stringd=String.format("%tA",today);System.out.println("格式化后的字符串为星期:"+d);//格式化后的字符串为4位的年份值Stringe=String.format("%tY",today);System.out.println("格式化后的字符串为4位的年份值:"+e);//格式化后的字符串为2位的年份值Stringf=String.format("%ty",today);System.out.println("格式化后的字符串为2位的年份值:"+f);//格式化后的字符串为2位的月份值Stringg=String.format("%tm",today);System.out.println("格式化后的字符串为2位的月份值:"+g);//格式化后的字符串为2位的日期值Stringh=String.format("%td",today);System.out.println("格式化后的字符串为2位的日期值:"+h);}}【代码解析】
使用String类的format()方法不但可以完成日期的格式化,也可以实现时间的格式化。时间的格式化转换符要比日期转换符更多、更准确,它甚至可以将时间格式化为时、分、秒、毫秒。
【知识扩展】
在深入使用字符串之前,有一个概念一定要理解,那就是字符串是不可变的对象。理解了这个概念,对后面熟练使用字符串有很大的帮助。字符串的不可变性,意味着每当对字符串进行操作时,都将产生一个新的字符串对象,如果频繁的操作字符串对象,会在托管堆中产生大量的无用字符串,增加垃圾回收器的压力,从而造成系统资源的浪费。