Date类

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这个时间点


猜你喜欢

转载自blog.csdn.net/littlegregory/article/details/53997826