2017-12-19 6 views
3

ChronoUnit.DAYS.between方法の署名である:Java 8 APIに、2つの日付の間の日数をカウントする関数がありますか?

(時間temporal1Inclusive、 時間的temporal2Exclusive)間

公衆あれば、例に関するように、最後の日付が含まれていません。

LocalDate from = LocalDate.now(); 
LocalDate to = from.plusDays(1); 

ChronoUnit.DAYS.between(from, to); // Result is 1 

その式に2日間を取得するための別の機能はありますか?

は、そうでなければ私は私が行うことができると見ているよう

LocalDate from = LocalDate.now(); 
LocalDate to = from.plusDays(1); 

ChronoUnit.DAYS.between(from, to.plusDays(1)); // Result is 2 
+6

ChronoUnit.DAYS.between(from、to)+ 1'の何が問題なのですか? –

答えて

4

は実際には、しかし、あなたは、次のコードを使用することができ、以下:1日の差に

ChronoUnit.DAYS.between(from, to) + 1; 

+1が追加されますがそれらの2つの地方の日付は最後の日付が含まれていると言うことができます。

+0

ええ、これは明らかなやり方です。私はちょうどそれら(Java API)が除外された終了日でのみ実装された理由を知りたがっています。祝日は包括的ですが、出産の葉は包括的です。あなたがホテルで夜を過ごす場合に限り、最終日は排他的ですね。 – Joe

+2

'~EndIncluded(...)'のようなメソッドを導入するよりも、 '+ 1'を書く方が簡単です。 – Flown

+2

私は@Flownに同意します。これは、メソッドを使用するよりも+1を使用する方が簡単だからです。しかし、temporal1とtemporal2JclusiveはJDK1.0以来使用されています。 –

関連する問題