我们在学习日期类的时候,我们创建了日期类对象,直接在控制台输出,看到的是不利于我们阅读的日期信息,我们更像看到的是年月日,时分秒的信息,这个时候就需要依靠SimpleDateformat,这个里面就提供了解决方案。
1.日期与时间模式
SimpleDateformat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
常见的模式字母及对应关系如下:
y=> 年
M=>月
d=> 日
H=> 时
m=>分
s=> 秒
2.常见构造方法
SimpleDateFormat()
//构造一个 SimpleDateFormat使用默认模式和日期格式符号为默认的 FORMAT区域设置。
SimpleDateFormat(String pattern)
//使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
//使用给定的模式和日期格式符号构造一个 SimpleDateFormat 。
SimpleDateFormat(String pattern, Locale locale)
//构造一个 SimpleDateFormat使用给定的模式和给定的区域设置的默认日期格式符号。
3.格式化与解析日期
1.格式化(从Date到String)
public final String format(Date date);//将日期格式化成日期/时间字符串
2.解析(从String到Date)
public Date parse(String source);//从给定字符串的开始解析文本以生成日期
4.格式化案例
import org.junit.Test;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MyTest {
@Test
public void test() throws IOException {
//格式化:从日期到字符串
Date date=new Date();
//设置为2022-03-12 21:45:26格式的时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(date);
System.out.println(s);
//输出为:2022-03-12 21:45:26(当前时间)
}
}
5.解析日期案例
import org.junit.Test;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MyTest {
@Test
public void test() throws IOException, ParseException {
String s="2022-11-11 11:11:11";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//将字符串转换为日期类
Date date=sdf.parse(s);
System.out.println(date);
}
}