📅  最后修改于: 2023-12-03 15:01:57.517000             🧑  作者: Mango
在Java 8中,我们可以使用TemporalAdjusters
接口中的lastInMonth()
方法来获取特定月份的最后一天。该方法返回一个实现了TemporalAdjuster
接口的静态类实例,可以被传递给LocalDate
或Temporal
实例的with()
方法,从而实现日期的调整。
TemporalAdjuster lastDayOfMonth = TemporalAdjusters.lastInMonth(DayOfWeek.MONDAY);
LocalDate date = LocalDate.of(2022, 1, 1).with(lastDayOfMonth);
System.out.println(date); // 输出2022-01-31
以上示例中,我们获取了2022年1月份的最后一个星期一。
以下示例展示了如何使用lastInMonth()
方法来获取特定月份的最后一天。
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjuster;
import java.time.temporal.TemporalAdjusters;
public class LastInMonthExample {
public static void main(String[] args) {
TemporalAdjuster lastDayOfMonth = TemporalAdjusters.lastInMonth(DayOfWeek.MONDAY);
LocalDate date1 = LocalDate.of(2022, 1, 1).with(lastDayOfMonth);
LocalDate date2 = LocalDate.of(2022, 2, 1).with(lastDayOfMonth);
LocalDate date3 = LocalDate.of(2022, 3, 1).with(lastDayOfMonth);
LocalDate date4 = LocalDate.of(2022, 4, 1).with(lastDayOfMonth);
System.out.println("2022年1月份的最后一个星期一: " + date1); // 输出2022-01-31
System.out.println("2022年2月份的最后一个星期一: " + date2); // 输出2022-02-28
System.out.println("2022年3月份的最后一个星期一: " + date3); // 输出2022-03-28
System.out.println("2022年4月份的最后一个星期一: " + date4); // 输出2022-04-25
}
}
在上面的示例中,我们使用了lastInMonth()
方法来获取2022年1月至4月份的最后一个星期一。每个月的最后一个星期一由with()
方法来计算,并打印输出。
在本文中,我们介绍了Java 8中的TemporalAdjusters
接口中的lastInMonth()
方法并提供了一个相关示例。使用该方法可以轻松地获取一个月份的最后一个星期几的日期。在实际开发中,我们可以将其与LocalDate
和Temporal
结合使用来获得更灵活的日期调整方法。