2017-05-05 6 views
-1

YearMonthLocalDate(またはその他の一時的なもの)とJava 8時間APIの中で比較する便利な方法はありますか?Java 8 Time API:YearMonthとLocalDateを比較しますか?

私はちょうど間違った場所を見ていて、本当にそのような便利な方法が存在するかどうかにかかわらず、TemporalAccessorsをサポートする方法が非常に多いのではないかと思います。どんなヒントも高く評価されています。

は、質問をより明確にするために:私は monthyearの比較(両方の共通分母)でのみ興味が YearMonth LocalDateに比較した場合。

答えて

1

比較に必要な共通分母型に時間的に1つをラッピングすることは、かなり便利であると思われる。 LocalDateLocalDateYearMonthを比較するための最初のYearMonthに変換されます。

LocalDate someDate = ... 
YearMonth someMonth = ... 

YearMonth.from(someDate).equals(someMonth) 

// or compareTo if required 

はそれについての詳細を考えると、それはおそらく比較は、特定のままとしてユニバーサルcompare -methodがないことを意味します。誰かが両方の共通点を比較したいという保証はありません。

+4

、あなたは答えとしてこの説明を追加したのはなぜ?あなたの質問の説明にこれを加えてください。 –

+0

です。質問に対する回答です。 – Roland

+0

@NeerajJain、誰かが質問した後、数分で自分の質問に答えることができますが、私は理由はわかりませんが、一般的にはOKと考えられています。 –

0

YearMonthとLocalDateは、LocalDateがyearMontクラスで定義されていない日数のメンバーを保持しているため、直接比較できません。

あなたは書くことができ、独自の

private boolean checkTemporal(YearMonth yM, LocalDate lD) { 

    return yM.getMonthValue() == lD.getMonthValue() && yM.getYear() == lD.getYear(); 
} 
関連する問題