目录
一、SimpleDateFormat类
1.为什么学习SimpleDateFormat类?
因为我们在学习时间类的时候,我们在控制台输出看到的是不利于我们阅读的日期信息,我们要想看到便于我们阅读需要使用SimpleDateFormat类
2.SimpleDateFormat类概述
允许从选择日期时间格式化的任何用户定义的模式开始。
3.模式是什么意思
A到Z和a到z都表示了时间单位等
二、SimpleDateFormat类的构造方法
1.public final String format(Date date)
代码演示:
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
//格式化,从Date到String
//public SimpleDateFormat()构造一个SimpleDateFormat,使用默认模式和日期格式
Date date=new Date();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat();
String s=simpleDateFormat.format(date);
System.out.println(s);
}
}
输出:
2021/8/6 上午9:17
虽然现在已经便于观看了,但是这是默认的格式,我们还可以自己设置
代码演示:
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
//格式化,从Date到String
//public SimpleDateFormat(String source)构造一个SimpleDateFormat,使用给定的模式和默认的日期格式
Date date=new Date();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd HH:mm:ss");//年月日时分秒
String s=simpleDateFormat.format(date);
System.out.println(s);
}
}
输出:
2021年08月06 09:26:32
2.publlic Date parse(String source)
代码演示:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) throws ParseException {//使用parse要抛出异常
//格式化,从String到Date
String ss="2021-08-06 11:11:11";
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd HH:mm:ss");//年月日时分秒
Date date=new Date();
Date d=simpleDateFormat.parse(ss);
System.out.println(d);
}
}
输出:
我们可以发现,报错了,因为我们传入的字符串格式和我们构造的模式格式不匹配造成解析错误
代码改为:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) throws ParseException {//使用parse要抛出异常
//格式化,从String到Date
String ss="2021-08-06 11:11:11";
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//年月日时分秒
Date date=new Date();
Date d=simpleDateFormat.parse(ss);
System.out.println(d);
}
}
输出:
Fri Aug 06 11:11:11 CST 2021