1. 程式人生 > 其它 >常用類庫-java.util.Date

常用類庫-java.util.Date

技術標籤:Java學習筆記javadate

文章目錄

常用類庫-java.util.Date

簡介

類名:public class Date extends Object implements Serializable, Cloneable, Comparable<Date>

Date 類用於表示特定的時刻,它的精度是毫秒(1秒 = 1000毫秒)。Date 可以把日期解釋為年月日時分秒,也能格式化和解析日期字串,由於它不適用於國際化(同一時刻不同時區的時間是不一樣的),現類中大部分方法都已過時不被使用。日期時間轉換現由 Calender 類完成,格式化和解析日期字串現由 DateFormat 類完成。

構造方法

Date

方法名:public Date()

作用:

獲取一個 Date 物件並進行初始化,其表示當前時刻。這個時刻是使用者所處地方的標準時間。在中國境內則獲取北京時間。(北京時間 = 世界時 + 8小時)

方法名:public Date(long date)

作用:

獲取一個 Date 物件並進行初始化,其表示時刻是以格林威治標準時間 1970年1月1日00:00:00 GMT 為基準,date 毫秒後的時刻。注意,格林威治標準時間可理解是身處英國 1970年1月1日00:00:00 那一刻的時間,該時間是英國的時間,同一時刻,身處中國的時間應該是 1970年1月1日08:00:00 。所以這裡(在中國境內)若使用 Date 獲得的時間是從 1970年1月1日08:00:00 開始後經過 date 毫秒後的時間。

使用案例:

import java.util.Date;

/**
 *@ClassName: DateTest
 *@Description: Date的使用
 *
 */
public class DateTest {
    public static void main(String[] args) {
        // 獲取當前時刻的時間
        Date date = new Date();
        System.out.println(date);
        // 獲取自定義的格林威治標準時後0毫秒的時間
        Date date2 = new Date(
0); System.out.println(date2); // 獲取自定義的格林威治標準時後60*60*1000毫秒的時間,即標準時後1小時的時間 Date date3 = new Date(60 * 60 * 1000); System.out.println(date3); } }

在這裡插入圖片描述

常用方法

getTime

方法名:public long getTime()

作用:

返回該 date 物件表示的時刻自格林威治標準時間 1970年1月1日00:00:00 之後經過的毫秒數。(理解為在中國該 date 時刻距中國 1970年1月1日08:00:00 有多少毫秒)

setTime

方法名:public void setTime(long time)

作用:

將該 date 物件時刻設定為自格林威治標準時間 1970年1月1日00:00:00 之後 time 毫秒的時刻。

使用案例:

import java.util.Date;

/**
 *@ClassName: SetAndGetTime
 *@Description: setTime和getTime的使用
 *
 */
public class SetAndGetTime {
    public static void main(String[] args) {
        // 獲取當前時刻物件date1
        Date date = new Date();
        // 當前時刻距格林威治標準時的毫秒數
        System.out.println(date.getTime());
        // 獲取當前時刻物件date2
        Date date2 = new Date();
        // 將該物件時刻設為格林威治標準時後1小時
        date2.setTime(60 * 60 * 1000);
        System.out.println(date2);
        // 獲取一個date3物件,時刻為格林威治標準時後10小時
        Date date3 = new Date(60 * 60 * 100 * 10);
        // 獲取date3物件距格林威治標準時有多少毫秒
        System.out.println(date3.getTime());
    }
}

在這裡插入圖片描述

after

方法名:public boolean after(Date when)

作用:

判斷呼叫該方法的物件表示的時刻是否在 when 物件表示的時刻之,是則返回 true 不是則返回 false 。

before

方法名:public boolean before(Date when)

作用:

判斷呼叫該方法的物件表示的時刻是否在 when 物件表示的時刻之,是則返回 true 不是則返回 false 。

使用案例:

import java.util.Date;

/**
 *@ClassName: AfterAndBeforeTest
 *@Description: after和before的使用
 *
 */
public class AfterAndBeforeTest {
    public static void main(String[] args) {
        // 獲取當前時刻
        Date date = new Date();
        // 獲取格林威治時刻後0毫秒
        Date date2 = new Date(0);
        // 判斷格林威治時間是否早於當前時間
        System.out.println(date2.before(date));
        // 判斷當前時間是否晚於格林威治時間
        System.out.println(date.after(date2));
        boolean b;
        // 以上方法用的少,可以使用getTime獲取兩個物件的毫秒數,然後通過比大小或相減判斷正負來判斷先後
        b = date.getTime()>date2.getTime();
        System.out.println(b);
    }
}

在這裡插入圖片描述