常用類庫-java.util.Date
文章目錄
常用類庫-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);
}
}