SimpleDateFormat类
一.概述
-
SimpleDateFormat日期格式化类
-
位于java.text.SimpleDateFormat包中,是一个不与语言环境有关的方式来格式化和解析日期的具体类
-
允许进行的操作:
格式化: 将我们不能看懂的日期数据转换为我们能看懂的字符串
解析: 将我们能看懂的字符串转换为我们不能看懂的日期数据
二.如何实例化?
两种实例化方式:
①SimpleDateFormat()
//默认模式和语言环境创建对象
②SimpleDateFormat(String pattern)
//该构造方法可以使用参数pattern指定的格式创建一个对象
三.格式化与解析
1.格式化
① String birthday = "2001-08-13";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(birthday);
System.out.println(date); //结果为Mon Aug 13 00:00:00 CST 2001
} catch (ParseException e) {
e.printStackTrace();
}
② Date date = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 E HH:mm:ss");
String s = sdf1.format(date);
System.out.println(s); //结果为2021年11月26日 星期五 00:08:48
-
在进行格式化时,上面需转换的字符串类型格式"2001-08-13",以及后面的SimpleDateFormat("yyyy-MM-dd")格式,用户在输入时,都有可能出现非法情况,所以需进行异常处理,可以像上述方式一样进行 try{ } tatch{ }处理,也可以进行throws处理
2.解析
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 E HH:mm:ss");
String str = "2021年11月26日 星期五 00:19:50"; //此处的字符串一定要符合上面设置的类型
Date date1 = null;
try {
date1 = sdf.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date1);
-
解析时也同样会出现异常情况,需要进行异常处理