Date類的概述
-
java.util,Date 表示日期和時間的類
-
類 Date 表示特定的瞬間,精確到千分之一秒(毫秒)
-
實例引入:獲取時間原點到當前系統時間經歷了多少秒
// 時間原點:1970 年 01 月 01 日 00:00:00 public class DemoDate { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); } }
Date類常用的構造方法和成員方法
成員方法
getTime()方法。返回:時間原點以來,此Date對象表示的毫秒數
import java.util.Date;
public class DemoGetTime {
public static void main(String[] args) {
Date date = new Date();
long time = date.getTime();
// 輸出:1578728202850
// 該方法類似於 System.currentTimeMillis()
System.out.println(time);
}
}
構造方法
Date類的無參構造方法。
返回:當前系統的日期和時間
import java.util.Date;
public class DemoDate1 {
public static void main(String[] args) {
Date date = new Date();
// 輸出:Sat Jan 11 15:40:50 CST 2020
System.out.println(date);
}
}
Date類的帶參構造方法
Date(long date) 參數為一個毫秒值,把傳入的毫秒值轉換為Date日期
返回:傳入參數(毫秒值)對應的的日期和時間
import java.util.Date;
public class DemoDate2 {
public static void main(String[] args) {
Date date = new Date(0L);
// 這里輸出的是0毫秒時的日期和時間,即時間原點的日期和時間
// 輸出:Thu Jan 01 08:00:00 CST 1970
System.out.println(date);
}
}
DateFormat抽象類和SimpleDateFormat實現類
說明
-
java.text.DateFormat類,是日期/時間格式化子類的抽象類
-
作用:格式化(也就是日期->文本)、解析(文本->日期)
-
成員方法
- string format( Datedate)按照指定的模式,把Date日期,格式化為符合模式的字符串
- Date parse( string source)把符合模式的字符串,解析為Dote日期
-
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 秒"
-
測試
-
測試DateFormat類的format方法,輸出指定格式的日期、時間
import java.text.SimpleDateFormat; import java.util.Date; public class Demo01FormatMethod { public static void main(String[] args) { // 創建SimpleDateFormat對象,在SimpleDateFormat(String pattern)構造方法中傳入指定的模式 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 時 mm 分 ss 秒"); // 調用DateFormat的實現類SimpleDateFormat中的format方法, // 按照構造方法中指定的模式,把Date解析為符合模式的字符串(文本) Date date = new Date(); String dateFormat = simpleDateFormat.format(date); // Sat Jan 11 16:24:43 CST 2020 System.out.println(date); // 2020 年 01 月 11 日 16 時 24 分 43 秒 System.out.println(dateFormat); } }
-
測試DateFormat類的parse方法,把符合構造方法中模式的字符串,解析為Date日期
/** * DateFormat類中的parse方法,把文本解析為日期 * 使用步驟: * 1,創建 SimpleDateFormat對象,構造方法中傳遞指定的模式 * 2.調用 SimpleDateFormat對象中的 parse方法,把符合SimpleDateFormat(String pattern)構造方法中模式的字符串,解析為Date日期 * 注意: * public Date parse(String source) throws ParseException * parse方法聲明了ー個異常叫 ParseException * 如果字符串和構造方法的模式不ー樣,那么程序就會拋出此異常 * 調用一個出了異常的方法,就必須的處理這個異常, * 要么 throws 繼續批出這個昇常,要么 try catch自己處理 */ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo01ParseMethod { public static void main(String[] args) throws ParseException { // 創建SimpleDateFormat對象,在SimpleDateFormat(String pattern)構造方法中傳入指定的模式 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 時 mm 分 ss 秒"); // 調用 SimpleDateFormat對象中的 parse方法,把符合構SimpleDateFormat(String pattern)造方法中模式的字符串,解析為Date日期 Date dateParse = simpleDateFormat.parse("2020 年 01 月 11 日 16 時 24 分 43 秒"); // Sat Jan 11 16:24:43 CST 2020 System.out.println(dateParse); } }