import java.util.Date;
public class TestDate {
public static void main(String[] args){
Date date=new Date(); //无参fastTime=当前时间
long t = System.currentTimeMillis();
System.out.println(t);
System.out.println(date);
Date a =new Date(1000);
System.out.println(a);
System.out.println(a.toGMTString());
System.out.println(a.getTime());//返回fastTime
a.setTime(232465465);
System.out.println(a.toString());
System.out.println(a.toLocaleString());
/*
* public void setTime(long time){ 重新设置fastTime
* fastTime=time;
* cdate=null;
* }
*/
}
}
对Date类的测试
/*源码*/
public Date() {
this(System.currentTimeMillis());
}
public Date(long date) {
fastTime = date;
}
构造器,无参的时候,调用另一个构造器,Date date=new Date(); 时间是当前时间与1970年1.1日0:00的毫秒数差值
@param date the milliseconds since January 1, 1970, 00:00:00 GMT.
public long getTime() {
return getTimeImpl();
}
/* private final long getTimeImpl() {
if (cdate != null && !cdate.isNormalized()) {
normalize();
}
return fastTime;
}
*/
public void setTime(long time) {
fastTime = time;
cdate = null;
}
public boolean before(Date when) {
return getMillisOf(this) < getMillisOf(when);
}
public boolean after(Date when) {
return getMillisOf(this) > getMillisOf(when);
}
befor() 和after()方法就是比较fastTime值的大小,Date d1=new Date(1000); Date d2=new Date(1001); blean a=(d1.getTime()<d2.getTime());
public boolean equals(Object obj) {
return obj instanceof Date && getTime() == ((Date) obj).getTime();
}
重写了Object的equals()方法,先判断是不是属于Date类的对象,与上fastTime值的比较
public boolean equals(Object obj) {
return (this == obj);
}
Date类的核心就是1970.01.01.00:00这个时间点