根据使用新的 dateTime API 获取持续时间中的响应,您应该使用
Period p = Period.ofYears(1);
了解(1 天<的确切纳秒数)和(可变> 1 天)之间的区别非常重要。Duration
Period
Duration
例如,不会考虑闰日、夏令时或闰秒,并且适用于少于一天的持续时间,最多几天。
所以你应该使用。Period
因为不同的年份有不同的天数,所以如果要查找一年中的日期数,则需要指定要说明要讨论的年份。
如果需要特定年份的天数,可以使用
Year.of(year).length()
如果您希望日期从现在起一年后,您可以使用
LocalDate.now().plusYears(1)
或
LocalDate.now().plus(Period.ofYears(1))
如果您需要两个日期之间的天数,可以使用
ChronoUnit.DAYS.between(start, end)
因此,要查找从现在起一年后的日期的天数,您可以使用
LocalDate today = LocalDate.now();
long days = ChronoUnit.DAYS.between(today, today.plusYears(1));
如果您想查看一年的会员资格是否仍然有效,您可以使用
Period membershipLength = Period.ofYears(1);
LocalDate membershipStart = ...;
LocalDate membershipEnd = membershipStart.plus(membershipLength);
LocalDate today = LocalDate.now();
boolean memberShipEnded = today.isAfter(membershipEnd);
boolean membershipValid = !membershipEnded;