1. 程式人生 > 實用技巧 >Java日誌第24天 2020.7.29

Java日誌第24天 2020.7.29

Date類

Date類的概念與作用

Date類表示特定的瞬間,精確到毫秒。

1秒 = 1000 毫秒

時間原點(0毫秒):1970年1月1日 0:0:0(英國格林尼治天文臺時間)

而因為中國屬於東八區,故時間原點應在此基礎上加上八個小時。

輸出時間原點

public class Demo01Date {
    public static void main(String[] args) {
        System.out.println(System.currentTimeMillis());
    }
}

毫秒值與時間換算

1天 = 24小時 * 60分鐘 *60秒 * 1000毫秒 = 86400000毫秒

Date類的構造方法和成員方法

構造方法主要有:

Date()無參構造方法。用於獲取當前系統的時間和日期

Date(Long time) 有參構造方法,用於得到自時間原點經歷毫秒值所得到的時間

成員方法主要有:

getTime()方法,用於獲取當前系統時間的毫秒值。

具體實現如下程式碼:

import java.util.Date;

public class Demo02Date {
    public static void main(String[] args) {

        demo01();
        demo03(demo02());

    }

    /*
    Date類的無參構造方法
    用於獲取當前系統的時間和日期
     
*/ public static void demo01(){ Date date = new Date(); System.out.println(date); } /* Long getTime()方法返回自時間原點到系統時間的毫秒值 相當於Ststem.currentTimeMills()方法 */ public static long demo02(){ Date date = new Date(); long time = date.getTime(); return
time; } /* Date有參構造方法 引數是一個毫秒值 返回從時間原點經過毫秒值到達的時間 */ public static void demo03(Long time){ Date date = new Date(time); System.out.println(date); } }

結果如下:

DateFormat類

DateFormat是時間、日期格式化子類的抽象類。它有一個直接已知子類SimpleDateFormat類,一個父類Format類。

作用:1.格式化(日期->文字) 2.解析(文字->日期)

成員方法:

1. String format(Date date) 按照指定的模式,把Date日期格式化為符合標準的字串

2. Date parse(String source) 把複合模式的字串,解析為Date日期

DateFormat是一個抽象類,無法直接使用建立物件,應該使用子類。

java.text.SimpleDateFormat

構造方法

SimpleDateFormat(String pattern)

用給定的模式和預設語言環境的日期格式符號構造SimpleDateFormat

引數:String pattern 傳遞指定的模式

模式:區分大小寫

y 年  M 月  d 日  H 時  m 分  s秒

模式寫法:

yyyy-MM-dd HH:mm:ss

模式中的字母不能更改,連線模式的符號可以改變。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo01DateFormat {
    public static void main(String[] args) throws ParseException {
        System.out.println("日期轉換為文字:");
        demo01();

        System.out.println("===============");
        System.out.println("文字轉換為日期:");
        demo02();
    }

    /*
    使用format方法將日漸轉換為文字
     */
    public static void demo01(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        String d = sdf.format(date);

        System.out.println(date);
        System.out.println(d);
    }

    /*
    使用parse方法解析時間日期類
    但是注意:如果字串和構造方法的模式不一樣,那麼程式就會丟擲此異常
    呼叫一個丟擲了異常的方法,就必須處理這個異常
    兩種方法:1.throws繼續丟擲這個異常
             2.try catch自己處理這個異常
     */
    public static void demo02() throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = sdf.parse("2020-07-29 11:19:38");
        System.out.println(date);
    }
}

結果如下:

今天學習的內容非常實用,在開發C++程式的時候,很多時候用到獲取系統時間,而Java中的Date類和DateFormat類很好的解決了此問題。

明天繼續學習Calendar和System類