Date类
Date表示特定的瞬间,精确到毫秒。Date类中大部分方法都已经被Calendar类中方法所取代。
时间单位:
- 1秒 = 1000毫秒
- 1毫秒 = 1000微秒
- 1微秒 = 1000纳秒
构造方法
Date类的构造方法现在主要只使用两种,其他的已经过时了,被Calendar中其他类取代。
// 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
public Date() {
this(System.currentTimeMillis());
}
// 配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数
public Date(long date) {
fastTime = date;
}
常用方法
Date类中大部分方法已经过时,这里重点对一些没有过时的方法进行简单的介绍。
方法 | 功能 |
---|---|
public boolean after(Date when) | 测试此日期是否在指定日期之后。 |
public boolean before(Date when) | 测试此日期是否在指定日期之前。 |
public Object clone() | 返回此对象的副本。 |
public int compareTo(Date anotherDate) | 比较两个日期的顺序(比较毫秒值,从1970年开始) |
public boolean equals(Object obj) | 比较两个日期的相等性 |
public long getTime() | 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
测试代码样例:
public static void main(String[] args) {
// 1.创建好Date对象
// 今天
Date date = new Date();
System.out.println(date.toString());
// 昨天
Date yesterday = new Date(date.getTime() - 24*60*60*1000);
System.out.println(yesterday.toString());
// 2. after 和 before
System.out.println(date.after(yesterday)); // 今天在昨天后面,故返回true
System.out.println(date.before(yesterday)); // 今天不再昨天前面,故返回false
// 3. compareTo()
// 今天毫秒数更多,大于昨天,故返回1,相同返回0,小于返回-1
System.out.println(date.compareTo(yesterday));
// 4. equals()
// 比较个时间是否相同
System.out.println(date.equals(yesterday));
}