在Java 8時間API中,是否有一種方便的方法比較YearMonth
與LocalDate
(或任何其他時態)?Java 8時間API:將YearMonth與LocalDate比較?
我想知道很多方法支持TemporalAccessors,無論我只是看錯了地方,確實存在這樣一種方便的方法。任何提示都非常感謝。
爲了使問題更清楚:如果我比較YearMonth
到LocalDate
我只在month
和year
比較(兩者的共同點)感興趣。
在Java 8時間API中,是否有一種方便的方法比較YearMonth
與LocalDate
(或任何其他時態)?Java 8時間API:將YearMonth與LocalDate比較?
我想知道很多方法支持TemporalAccessors,無論我只是看錯了地方,確實存在這樣一種方便的方法。任何提示都非常感謝。
爲了使問題更清楚:如果我比較YearMonth
到LocalDate
我只在month
和year
比較(兩者的共同點)感興趣。
將一個時間段包裝爲比較所需的公分母類型似乎相當方便,例如,對於具有LocalDate
的LocalDate
比較一個YearMonth
首先轉化爲YearMonth
:
LocalDate someDate = ...
YearMonth someMonth = ...
YearMonth.from(someDate).equals(someMonth)
// or compareTo if required
思考更多地瞭解它,它可能是有道理的,沒有一個通用的compare
- 方法是比較具體的停留。不能保證有人只是想比較兩者的共同點。
僅僅因爲LocalDate持有未在yearMont類中定義的天數的成員,YearMonth和LocalDate不能直接進行比較。
您可以編寫自己的
private boolean checkTemporal(YearMonth yM, LocalDate lD) {
return yM.getMonthValue() == lD.getMonthValue() && yM.getYear() == lD.getYear();
}
和你爲什麼要加入這個解釋作爲答案?你應該在你的問題的解釋中加入這個。 –
因爲它是這個問題的答案。 – Roland
@NeerajJain,有人在問幾分鐘後回答自己的問題,我不知道爲什麼,但通常認爲可以。 –