SimpleDateFormat
java.text.DateFormat
是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat
。这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:
public SimpleDateFormat(String pattern)
:用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
参数pattern是一个字符串,代表日期时间的自定义格式。
常用的格式规则为:
标识字母(区分大小写) | 含义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
format
将Date日期按照指定模式转换成字符串;
public static void main(String[] args) throws ParseException {
//创建SimpleDateFormat对象,构造方法中传递指定的模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式把Date日期转换成字符串
String format = sdf.format(new Date());
//输出结果 : 2021-04-08 15:43:20
System.out.println(format);
}
parse
将日期字符串按照指定模式转换成Date日期;
注意:如果日期字符串和构造方法中指定的模式不一样,就会抛出parseException的异常;
public static void main(String[] args) throws ParseException {
//创建SimpleDateFormat对象,构造方法中传递指定的模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//创建SimpleDateFormat对象,构造方法中传递指定的模式
//注意:如果日期字符串和构造方法中指定的模式不一样,就会抛出parseException的异常
Date parse = sdf.parse("2021-04-08 15:43:20");
//输出结果 : Thu Apr 08 15:43:20 CST 2021
System.out.println(parse);
}