在JDK文档中有这些类的描述,这里我写自己学的两个,作为开端。
1.知道了解DateFormat类的相关概念
java.text.DateFormat:是日期/时间格式化子类的抽象类
作用:
格式化(也就是日期 -> 文本)、解析(文本 -> 日期)
成员方法:
String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符串
DateFormat类是一个抽象类,无法直接创建对象使用,可以把使用DateFormat类的子类
java.text.SimpleDateFormat extends DateFormat
构造方法:
SimpleDateFormat(String pattern)
用给定的模式和默认值语言环境的日期格式符号构造 SimpleDateFormat。
参数:
String pattern:传递指定的模式
模式:区分大小写的
标识字母(区分大小写) | 含义 |
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
写对应的模式,会把模式替换为对应的日期和时间
“yyyy-MM-dd HH:mm:ss”
注意:模式中的字母不能更改,连接模式的符号可以改变
“yyyy年MM月dd日 HH时mm分ss秒”
2. 使用DateFormat类中的方法format,把日期格式转化为文本
使用步骤:
1.创建SimpleDateFormat对象,构造方法中传递指定的模式
2.调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期格式转化为符合的字符串(文本)
import java.text.SimpleDateFormat;
import java.util.Date;
public class demoDateFormat {
public static void main(String[] args) {
demo1();
}
/*
使用DateFormat类中的方法format,把日期格式转化为文本
使用步骤:
1.创建SimpleDateFormat对象,构造方法中传递指定的模式
2.调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期格式转化为符合的字符串(文本)
*/
private static void demo1() {
//1.创建SimpleDateFormat对象,构造方法中传递指定的模式
SimpleDateFormat s = new SimpleDateFormat();
SimpleDateFormat a = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
// 2.调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期格式转化为符合的字符串(文本)
//String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符串
Date date = new Date();
String b = s.format(date);
System.out.println(date); //Sun Sep 01 10:13:00 CST 2019
System.out.println(b); //19-9-1 上午10:13
System.out.println("=================================");
String c = a.format(date);
System.out.println(c); // 2019年09月01日 10时16分55秒
}
}
3.使用DateFormat类中的方法parse,把文本解析为日期
使用步骤:
1.创建SimpleDateFormat对象,构造方法中传递指定的模式
2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期
注意:
public Date parse(String sourse)throws ParseException
parse方法声明了一个异常叫ParseException
如果字符串和构造方法的模式不一样,那么程序就会抛出异常
调用一个抛出了异常的方法,就必须的处理这个异常,要么throws继续抛出这个异常,要么try catch自己处理
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class demoDateFormat2 {
public static void main(String[] args) throws ParseException {
demo2();
}
/*
使用DateFormat类中的方法parse,把文本解析为日期
使用步骤:
1.创建SimpleDateFormat对象,构造方法中传递指定的模式
2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期
注意:
public Date parse(String sourse)throws ParseException
parse方法声明了一个异常叫ParseException
如果字符串和构造方法的模式不一样,那么程序就会抛出异常
调用一个抛出了异常的方法,就必须的处理这个异常,要么throws继续抛出这个异常,要么try catch自己处理
*/
private static void demo2() throws ParseException {
// 1.创建SimpleDateFormat对象,构造方法中传递指定的模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
// 2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期
// Date parse(String sourse)把符合的字符串解析为日期
Date date = sdf.parse("2019年09月01日 10时42分07秒");
System.out.println(date);
}
}