📅  最后修改于: 2023-12-03 15:01:57.481000             🧑  作者: Mango
在Java 8中,通过TemporalAdjusters
类的firstInMonth()
方法,可以方便的获取一个月中第一个匹配给定条件的日期。
TemporalAdjusters.firstInMonth(DayOfWeek dayOfWeek)
:返回一个TemporalAdjuster
对象,用于将日期调整为该月中第一个遇到指定DayOfWeek
的日期。
假设今天是2022年2月14日(周一),下面展示了如何使用TemporalAdjusters.firstInMonth()
方法来获取2022年3月的第一个周五的日期。
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class FirstInMonthExample {
public static void main(String[] args) {
LocalDate today = LocalDate.of(2022, 2, 14);
LocalDate firstFridayOfMarch = today.with(TemporalAdjusters.firstInMonth(DayOfWeek.FRIDAY));
System.out.println("2022年3月的第一个周五是:" + firstFridayOfMarch);
}
}
输出结果:
2022年3月的第一个周五是:2022-03-04
程序首先定义了一个LocalDate
对象today
,表示当前日期为2022年2月14日。
然后使用with()
方法结合TemporalAdjusters.firstInMonth()
方法,获取2022年3月的第一个周五。
最后将结果输出至控制台。
DayOfWeek
枚举表示星期几,其顺序依次为:MONDAY
、TUESDAY
、WEDNESDAY
、THURSDAY
、FRIDAY
、SATURDAY
、SUNDAY
。