Java SimpleDateFormate时间格式化

java中SimpleDateFormate是时间简单格式化类,它允许格式日期,解析日期,并且格式化,它可以将String类型的时间格式转化成Date类型或者将Date类型时间转化成为String类型。SimpleDateFormat不是线程安全的,因此format方法和parse方法会在多线程的情况下发生严重错误,这个需要注意。

定义

SimpleDateFormat() 
SimpleDateFormat(String pattern) 
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols) 
SimpleDateFormat(String pattern, Locale locale)  

pattern函数语法:

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 时区

方法

Date parse(String text, ParsePosition pos) //分析字符串中的文本以生成日期 
StringBuffer format(Date date) //将给定日期格式化为日期/时间字符串,并将结果追加到给定的StringBuffer。

例子

1. 时间格式化(年月日时分秒)

public class DateDemo1{
    public static void main(String args[]){
        Date current=new Date();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String c=sdf.format(current);
        System.out.println(c);
    }
}

//输出:
2019-06-01 10:01:52

2. 时间转换

//日期格式为 x年x月x日(eg:2019年6月25日)
public Date DateDemo2(String s){
	DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
	LocalDate date= LocalDate.parse(s, formatter);
}