java.util.Date類

胡樂天發表於2020-12-27

先來一小段程式碼,看一下輸出的是啥?

public static void main(String[] args) {
    java.util.Date udate = new java.util.Date();
    System.out.println(udate);
}

輸出:Sat Dec 26 13:19:54 CST 2020
解釋:
Sat 星期六
Dec 十二月
26 二十六號
CST 中國、美國、澳大利亞、古巴的當地的標準時間

輸出本地格式時間(toLocaleString),不過此方法已經過時,官方建議使用DateFormat進行轉換,不過用toLocalString的還有一部分人

public static void main(String[] args) {
    Date udate1 = new Date();
    System.out.println(udate1.toLocaleString());
}

輸出:2020-12-26 14:20:38

使用毫秒數進行得到Date(在不同格式的時間 轉換的時候使用)

public static void main(String[] args) {
    Date udate1 = new Date();
    //休眠三秒,更容易對比
    try {
        Thread.sleep(3000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    Date udate2 = new Date(udate1.getTime());
    System.out.println("時間1:"+udate1.toLocaleString());
    System.out.println("時間2:"+udate2.toLocaleString());
}

輸出:
時間1:2020-12-26 14:23:20
時間2:2020-12-26 14:23:20

時間比較(compareTo), java.util.Date實現了Comparable介面,所以有比較功能

public static void main(String[] args) {
    Date udate1 = new Date();
    //休眠三秒,使udate2時間更大三秒
    try {
        Thread.sleep(3000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    Date udate2 = new Date();
    System.out.println("時間1:"+udate1.toLocaleString());
    System.out.println("時間2:"+udate2.toLocaleString());
    System.out.println(udate1.compareTo(udate2));
}

輸出:
時間1:2020-12-26 14:26:47
時間2:2020-12-26 14:26:50
-1
解釋: 時間1.compareTo(時間2)
時間1>時間2:返回正數
時間1=時間2:返回0
時間1<時間2:返回負數

相關文章