获取月份的最后一个日期

jos*_*eph 3 java localdatetime

我有一个 LocalDateTime 对象,我想获取该月的最后一个日期。因此,如果 localDateTime 指向今天的日期 10 月 29 日。我想将其转换为 10 月 31 日
有没有一种干净、简单的方法可以做到这一点?
我的想法:
一种方法是获取月份,然后做出 switch 声明。但这将是漫长而乏味的方法。不确定是否有内置方法
可以执行相同的操作

obo*_*ain 6

使用YearMonth.atEndOfMonth

LocalDate date = LocalDate.now();
YearMonth month = YearMonth.from(date);
LocalDate end = month.atEndOfMonth();
Run Code Online (Sandbox Code Playgroud)


aku*_*ykh 5

import java.time.LocalDateTime;
import java.time.temporal.TemporalAdjusters;

public class Main {
    public static void main(String args[]) {
      LocalDateTime a = LocalDateTime.of(2021, 10, 29, 0, 0);
      LocalDateTime b = a.with(TemporalAdjusters.lastDayOfMonth());
      
      System.out.println(a);
      System.out.println(b);
    }
}
Run Code Online (Sandbox Code Playgroud)