222:DateFormat方法的使用以及功能:
java.text.DateFormat是日期或者时间格式化子类的抽象类,作用:可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换
格式化: 按照指定的格式 从Date对象转化为string对象
解析 :按照指定的格式将String对象转换为Date对象
++++++++++++++++++++++
构造方法:由于DateFormat为抽象类,不能够直接进行使用,所以需要借助子类java.text.SimpleDateFormat。这个类需要一个格式来指定格式化或者解析的标准,构造方法为:
public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat,其中的参数pattern是一个字符串,代表日期时间的自定义格式。
如果只是创建Date类的对象然后进行输出的话, 输出的是一个英文的时间,虽然是标准时间,但是我们不是很习惯这种格式,那就需要我们进行格式化,这里要注意的是格式化之后返回一个字符串类型的文本,DateFormat类是一个抽象类
直接子类:
DateFormat 日期格式化;
MessageFormat 消息格式化;
NumberFormat 数字格式化;
所谓的格式化就是将信息的形式自定义,以大多数人习惯的方式进行表示,人之常情,不能逆着人们习惯的方向进行发展,
++++++++++++++++++++++++++++++++
tips:类只是对功能的一个总体的概括,要想知道类所能实现的功能,那我们得去研究他其中的方法,说到方法,我们就要看他是一个什么类,是普通的还是抽象的,如果是普通的,我们可以直接创建他的对象,然后调用其中的方法,该进行传参数的,我们进行传参就可以了,不进行传参的我们直接进行调用,如果是抽象类的话,我们可以使用继承父类,让子类进行创建对象,还有一种方法就是借助Java的特性,使用多态的方法来实现方法的调用
DateFormat类中方法的两个功能实现:
第一个方法:
String format (Date date);按照指定的模式,把Date日期,格式化为符合模式的字符串:
Date parse (String source);把符合模式的字符串解析为Date日期
使用DateFormat的子类SimpleDateFormat来创建一个继承父类的子类对象
java.text.SimpleDateFormat extends DateFormat
下面我们来看看所谓的模式
就好比我们去超市买蔬菜一样,蔬菜的种类有很多,因为蔬菜是由一种一种蔬菜组成的,我们想要买蔬菜,要知道自己所需要的蔬菜是神么,才能够买回我们想要的蔬菜,类比于对Date时间进行规格化,就是我们想要什么形式的字符串就要和Date类说好,这样Date才可以帮我们挑选自己喜欢的菜,
构造方法:(构造方法的定义:与类名是相同的,唯一不相同的就是参数的不同)
SimpleDateFormat(String pattern)
参数:String pattern(就是用来规定以什么样的形式进行输出的一种规格,是字符串类型的)
模式简介:y 年 M 月 d日 H时 m分 s秒
例如:yyyy-MM月dd-HH时-mm分ss秒
tips:是严格区分大小写的 而且前面的事例中的链接符号是可以改变的,不能够改变的是其中的字母
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class zixuejava {
public static void main(String[] args) throws ParseException {
demo01();// 格式化方法调用
demo02();// 将格式化(模式化)的日期进行解析成Date类型的日期
/** tips(对于异常方法的抛出注意事项):调用异常方法的类要进行声明异常,* 也就是继续抛出异常,这时的声明要加上throws ParseException,方法要加上,而且调用的* 子方法也要加上异常抛出语句*/
}private static void demo02() throws ParseException {//继续抛出异常,交给虚拟机进行处理// TODO Auto-generated method stub//1.创建一个SimpleDateFormat的对象SimpleDateFormat SDF=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");Date s=SDF.parse("2020年04月29日 11时00分52秒");System.out.println("将格式化之后的日期转化成Date日期后的进行输出:");System.out.println(s);//Wed Apr 29 11:00:52 CST 2020}public static void demo01() {/** 第一个方法的使用:使用DateFormat 当中的方法farmat,将日期转换成为本, 使用的步骤:* 1.创建SimpleDateFormat类的对象, 构造方法中传递指定的模式* 2.调用SimpleDateFormat对象的方法format 按照构造方法中指定的模式将Date中的格式进行人为规定* 转换成字符串,这里的字符串我们 也叫作是一种文本*/// 1.创建对象SimpleDateFormat Str = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");// 2.调用方法Date date = new Date();String S = Str.format(date);System.out.println(date);// Wed Apr 29 11:00:52 CST 2020System.out.println(S);// 2020年04月29日 10时43分56秒
}
}