平时在开发中经常会遇到String和日期之间的转换。但是有的时候只是需要日期的某一部分,比如年、月。如果这个时候再用DateFormat 或者是Calendar 的话,会感觉废了多余的工夫,有时候就觉得没必要。今天看翻了一遍Java从入门到精通,发现了String自带有简单有方便的方法(之前一直没发现),代码如下:
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
?
?
?
}
}
原文:http://yhgogo.iteye.com/blog/2220789