Java Data類的簡單學習


Date類的概述

  1. java.util,Date 表示日期和時間的類

  2. 類 Date 表示特定的瞬間,精確到千分之一秒(毫秒)

  3. 實例引入:獲取時間原點到當前系統時間經歷了多少秒

    // 時間原點: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實現類

說明

  1. java.text.DateFormat類,是日期/時間格式化子類的抽象類

  2. 作用:格式化(也就是日期->文本)、解析(文本->日期)

  3. 成員方法

    1. string format( Datedate)按照指定的模式,把Date日期,格式化為符合模式的字符串
    2. Date parse( string source)把符合模式的字符串,解析為Dote日期
  4. DateFormat類是一個抽象類,無法直接創建對象使用,可以使用 DateFormat類的子類java.text.SimpleDateFormat extends DateFormat

  5. 構造方法:SimpleDateFormat(String pattern)用給定的模式和默認語言環境的日期格式符號構造SimpleDateFormat

    1. 參數:string pattern:傳遞指定的模式

    2. 模式:
                     區分大小寫的
                     y       年
                     M       月
                     d       日
                     H       時
                     m       分
                     s       秒
      
    3. 注意事項:寫對應的模式,會把模式替換為對應的時間和日期。

      如:"yyyy 年 MM 月 dd 日 HH 時 mm 分 ss 秒"

測試

  1. 測試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);
        }
    }
    
  2. 測試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);
        }
    }
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM