Java SimpleDateFormate.format() Date转换为string

java中SimpleDateFormate.format()用来将Date转换为string格式,比如说需要将Date转成:2019-05-01 10:00:00/2019年01月01日15点20分10秒 等等。

定义

StringBuffer format(Date date) 

传入Date对象,会根据指定的格式进行输出,输出的格式如下:

G 年代标志符

y 年

M 月

d 日

h 时 在上午或下午 (1~12)

H 时 在一天中 (0~23)

m 分

s 秒

S 毫秒

E 星期

D 一年中的第几天

F 一月中第几个星期几

w 一年中第几个星期

W 一月中第几个星期

a 上午 / 下午 标记符

k 时 在一天中 (1~24)

K 时 在上午或下午 (0~11)

z 时区


例子

@Test
public static void SimpleDateFormatFormatDemo() {
	Date now=new Date();
	SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
	SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
	SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
	SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
	SimpleDateFormat myFmt4=new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
	System.out.println(myFmt.format(now));
	System.out.println(myFmt1.format(now));
	System.out.println(myFmt2.format(now));
	System.out.println(myFmt3.format(now));
	System.out.println(myFmt4.format(now));
}

SimpleDateFormat不是线程安全的,SimpleDateFormat.format方法会在多线程的情况下发生严重错误,这个需要注意。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。