DateFormat类SimpleDateFormat类学习

在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); } }