我有一种方法可以比较两个日期,以查看transactionDate是否在validFrom和validUntil之间的范围内。validFrom和validUnti的值类似于"2017-01-01 00:00:00",但由于转换到不同的时区,交易日期有时会带有不同的小时数。
public boolean isDateWithinEmploymentDeploymentValidityPeriod(Date transcationDate, Parameter parameter) {
return transcationDate.compareTo(parameter.getValidFrom()) >= 0
&& (parameter.getValidUntil() == null || transcationDate.compareTo(parameter.getValidUntil()) <= 0);
}
我需要比较的仅仅是年月日,不需要考虑时间,那么在不将日期转换为GregorianCalendar并分别获取年月日的情况下,最有效的方法是什么?
validUntil
是您日期期间的上限,对吗?那么为什么它应该返回一个晚于它的日期的true
呢?或者这只是一个打字错误,也许?另外,您使用的是哪个版本的Java? - KevinLH