如何在 Java 8 中比较两个时期?
例如
Period one = Period.of(10,0,0);
Period two = Period.of(8,0,0);
在这种情况下,一大于二。
最佳答案
的确,由于月的标准长度未定义,在一般情况下比较两个 Period
对象是没有意义的。
但是,在许多情况下,您完全可以接受与以下类似的实现。该合约将类似于 compareTo()
的合约:
public int comparePeriodsApproximately(Period p1, Period p2) {
return period2Days(p1) - period2Days(p2);
}
private int period2Days(Period p) {
if (p == null) {
return 0;
}
return (p.getYears() * 12 + p.getMonths()) * 30 + p.getDays();
}
关于java - 如何比较 java 8 中的两个 java.time.Period?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41320609/