平時在開發中常常會遇到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 } }