如何使用Date
比较GWT中的同一出生日期?
olpPatient.getBirthday().equals(birthday);
即使两个日期相等,该行也会返回false。
答案 0 :(得分:2)
您可以使用课程com.google.gwt.user.datepicker.client.CalendarUtil
。有一种名为isSameDate(Date, Date)
的方法,它只会检查日期,而不是一天中的时间。
来自javadoc:
检查两个日期是否代表同一年的相同日期,即使它们的时间不同。
答案 1 :(得分:0)
您正在使用Date
比较equals()
个对象(默认情况下,Object.equals
正在检查对这些对象的引用是否相等以及Date.equals
检查时间戳。但您只需要从这些对象中提取day
,month
,year
并仅比较它们。
答案 2 :(得分:0)
这取决于您创建日期的方式。如果从DatePicker获取它们或解析不包含小时和分钟的String,则可以使用:
patient.getBirthday().getTime() == birthday.getTime();
如果您的日期包括小时和分钟,您可以:
int day = 24 * 60 * 60 * 1000;
boolean sameDate = patient.getBirthday().getTime()/day == birthday.getTime()/day;