aza*_*lut 63 compare date java-8
我正在编写一个需要在日期中非常准确的应用程序,我想知道如何比较LocalDate实例..现在我使用的是:
LocalDate localdate1 = LocalDate().now();
LocalDate localdate2 = someService.getSomeDate();
localdate1.equals(localdate2);
Run Code Online (Sandbox Code Playgroud)
但我注意到我的应用程序给了我一些令人困惑的结果,我认为这是因为比较日期.
我正在考虑从1970年代开始获得时间并比较这两者,但我必须更容易,我很确定
roy*_*oyB 92
使用确定覆盖等于:equals()
LocalDate
int compareTo0(LocalDate otherDate) {
int cmp = (year - otherDate.year);
if (cmp == 0) {
cmp = (month - otherDate.month);
if (cmp == 0) {
cmp = (day - otherDate.day);
}
}
return cmp;
}
Run Code Online (Sandbox Code Playgroud)
如果您对结果不满意equals()
,那么您可以使用预定义的方法LocalDate
.
请注意,所有这些方法都使用该compareTo0()
方法,只需检查该cmp
值.如果你仍然得到奇怪的结果(你不应该),请附上一个输入和输出的例子
小智 5
LocalDate ld ....;
LocalDateTime ldtime ...;
ld.isEqual(LocalDate.from(ldtime));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
122052 次 |
最近记录: |