が疲れてjava.time.Period
となり、結果は私の手動計算と3日間異なります。 ここで奇妙なことは、私は2つの期間に期間を分割するとき、結果は私の手動計算と一致します。java.time.Period、期間を分割すると、
2番目の方法は、期間を手動で計算する方法と同じです。
私は見逃したことがありますか?カレンダー演算の標準的な方法やアルゴリズムはありますか? java.time.Period
で使用されるアルゴリズムは何ですか?
import java.time.LocalDate;
import java.time.Period;
import java.time.temporal.ChronoUnit;
public class test2 {
public static void main(String[] args) {
LocalDate d1 = LocalDate.of(2014, 2, 14);
LocalDate d2 = LocalDate.of(2017, 8, 1);
Period p = Period.between(d1, d2);
//using period between the two dates directly
System.out.println("period between " + d1.toString() + " and " + d2.toString() + " is " + p.getYears()
+ " years " + p.getMonths() + " months " + p.getDays() + " Days");
//dividing the period into two parts
p = Period.between(LocalDate.of(2014, 3, 1), d2);
System.out
.println("period between " + d1.toString() + " and " + d2.toString() + " is " + p.getYears() + " years "
+ p.getMonths() + " months " + d1.until(LocalDate.of(2014, 3, 1), ChronoUnit.DAYS) + " Days");
}
}
あなたは正確に何をしようとしていますか?どのような結果が得られますか?あなたはどんな結果を期待していますか? – Dukeling