SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date dt=sdf.parse("1901-01-01");
system.out.println(dt);
WfAcptTbl wfAcptTbl = new WfAcptTbl();
wfAcptTbl.setAcptDt(dt);
system.out.println(wfAcptTbl.getAcptDt());
system.out.println(wfAcptTbl.getAcptDt()==sdf.parse("1901-01-01"));
如上所示、运行以上代码、控制台显示
Tue Jan 01 00:00:00 GMT+08:00 1901
Tue Jan 01 00:00:00 GMT+08:00 1901
false
为什么不相等?怎样比较?
谢谢!
[size=medium]Date a;
Date b;
假设现在你已经实例化了a和b
a.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回true
b.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回true
a.equals(b)返回一个boolean,如果a的时间和b相等返回true[/size]
[code="java"]import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date dt=sdf.parse("1901-01-01");
Date dt2 = sdf.parse("1901-01-01");
System.out.println(dt);//Tue Jan 01 00:00:00 CST 1901
System.out.println(dt2);// Tue Jan 01 00:00:00 CST 1901
System.out.println(dt == dt2); // false
System.out.println(dt.equals(dt2)); // true
}
}[/code]
日期比较,== 比较的是引用,估计你刚学java,多baidu,google吧,基础打牢。
wish you good luck!