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秒
}
}