📌  相关文章
📜  Java中的 TemporalAdjusters lastInMonth() 方法和示例(1)

📅  最后修改于: 2023-12-03 15:01:57.517000             🧑  作者: Mango

Java中的 TemporalAdjusters lastInMonth() 方法和示例

在Java 8中,我们可以使用TemporalAdjusters接口中的lastInMonth()方法来获取特定月份的最后一天。该方法返回一个实现了TemporalAdjuster接口的静态类实例,可以被传递给LocalDateTemporal实例的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()方法并提供了一个相关示例。使用该方法可以轻松地获取一个月份的最后一个星期几的日期。在实际开发中,我们可以将其与LocalDateTemporal结合使用来获得更灵活的日期调整方法。