如何计算一个时期内有多少天?

2023-12-07

对于以下Period计算:

Period.between(LocalDate.of(2015, 8, 1), LocalDate.of(2015, 9, 2))

结果是:

P1M1D

这相当于 31 天 + 1 天 = 32 天。

为了这Period:

Period.between(LocalDate.of(2015, 8, 1), LocalDate.of(2015, 10, 2))

结果是:

P2M1D

这相当于:31 天(8 月)+ 30 天(9 月)+ 1(10 月)= 62 天

里面有没有一个方法java.time包将给出一个天数Period?我找不到一个。不确定我是否忽略了任何东西,或者它是否根本不存在。


来自文档:

使用基于日期的值(年、月、 天),使用Period班级。这Period类提供了各种get 方法,例如getMonths, getDays, and getYears.要表示以单个时间单位(例如天)测量的时间量,您可以使用ChronoUnit.between method.

LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(1960, Month.JANUARY, 1);

Period p = Period.between(birthday, today);
long p2 = ChronoUnit.DAYS.between(birthday, today);
System.out.println("You are " + p.getYears() + " years, " + p.getMonths() +
                   " months, and " + p.getDays() +
                   " days old. (" + p2 + " days total)");

该代码产生类似于以下内容的输出:

You are 53 years, 4 months, and 29 days old. (19508 days total)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算一个时期内有多少天? 的相关文章

随机推荐