たとえば、次のコードがある場合:
var nodaStart = new LocalDate(2012, 5, 1);
var nodaEnd = new LocalDate(2012,5,2);
var daysBetween = Period.Between(nodaStart, nodaEnd,PeriodUnits.Day);
それでdaysBetween.Days == 1
ただし、私が計算する範囲は、それを2日としてカウントする必要があります。つまり、開始日と終了日を含める必要があります。
実際の方法では、開始日と終了日(1年以内の間隔)を取得して終了することができ、日数を計算する必要があります。31日を超える場合、残りは丸1週間の数として返されます。
私はそのロジックを正常に機能させていますが、カウントが排他的であるため、私は1日です。
startDate.addDays(-1)
作成する前にできると思いますnodaStart
が、野田にピリオドを返してもらうためのもっとエレガントでかわいらしい方法があるのではないかと思います。
ありがとう
更新:クラスのソースコードを読み取りましたが、演算子がオーバーロードされているため、追加できますPeriod
+
daysBetween += Period.FromDays(1);