平时在开发中常常会遇到String和日期之间的转换。可是有的时候只是须要日期的某一部分,好比年、月。若是这个时候再用DateFormat 或者是Calendar 的话,会感受废了多余的工夫,有时候就以为不必。今天看翻了一遍Java从入门到精通,发现了String自带有简单有方便的方法(以前一直没发现),代码以下:java
public class Date2StringTest { @Test public void testDate2StringTest(){ Date date=new Date(); System.out.println("......日期格式化............................."); System.out.println(String.format("%tA", date));//指定语言环境的星期几全称 Monday(英文) 、星期一(中文) System.out.println(String.format("%ta", date));//指定语言环境的星期几简称 Mon(英文) 、星期一(中文) System.out.println(String.format("%tb", date));//指定语言环境的月份简称 Feb(英文) 、二月(中文) System.out.println(String.format("%tB", date));//指定语言环境的月份全称 February(英文) 、二月(中文) System.out.println(String.format("%tc", date));//包括所有日期和时间信息 星期四 六月 18 14:54:47 CST 2015 System.out.println(String.format("%td", date));//一个月中的第几天(01 ~ 31) 02 System.out.println(String.format("%te", date));//一个月中的某一天(1~31) 2 System.out.println(String.format("%tj", date));//一年中的第几天(001~366) 085 System.out.println(String.format("%tm", date));//月份 03 System.out.println(String.format("%tY", date));//4位年份 2008 System.out.println(String.format("%ty", date));//2位年份 08 System.out.println("......时间格式化............................."); System.out.println(String.format("%tH", date));//2位数字的24时制的小时(00~23) 14 System.out.println(String.format("%tM", date));//2位数字的分钟(00~59) 05 System.out.println(String.format("%tS", date));//2位数字的秒数(00~60) 12 System.out.println(String.format("%tI", date));//2位数字的12时制的小时(01~12) 05 System.out.println(String.format("%tk", date));//2位数字的24时制的小时(00~23) 5 System.out.println(String.format("%tl", date));//2位数字的12时制的小时(1~12) 10 System.out.println(String.format("%tL", date));//3位数字的毫秒数(000~999) 920 System.out.println(String.format("%tN", date));//9位数字的微秒数(000 000 000~999 999 999) 092 000 00 System.out.println(String.format("%tp", date));//指定语言环境下上午或下午标记 下午(中文) pm(英文) System.out.println(String.format("%tz", date));//相对于GMT RFC 82格式的数字时区偏移量 +0800 System.out.println(String.format("%tZ", date));//时区缩写形式的字符串 CST System.out.println(String.format("%ts", date));//1970-01-01 00:00:00 至如今通过的秒数 1206426646 System.out.println(String.format("%tQ", date));//1970-01-01 00:00:00 至如今通过的毫秒数 1206426646453 System.out.println("......日期时间组合............................."); System.out.println(String.format("%tF", date));//"年-月-日"格式 (4位年份) 2008-03-25 System.out.println(String.format("%tD", date));//"月/日/年"格式 (2位年份) 03/25/08 System.out.println(String.format("%tc", date));//所有日期和信息格式 星期四 六月 18 14:54:47 CST 2015 System.out.println(String.format("%tr", date));//"时:分:秒 PM(AM)" 格式(12小时制) 03:22:06 下午 System.out.println(String.format("%tT", date));//"时:分:秒 " 格式(24小时制) 15:23:50 System.out.println(String.format("%tR", date));//"时:分 " 格式(24小时制) 15:23 } }