java8 LocalDateTime获取某月的第一天开始及最后天的结束

486 阅读1分钟

公司某统计需求需要统计当月的业务表,在mysql内调函数可能会有性能问题,故直接在java端获取时间。

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

// string转LocalDateTime
LocalDateTime dateTime = LocalDateTime.parse("2022-04-25 19:14:55",df);

// 获取当前月的第一天开始
LocalDateTime firstDay = dateTime
        .with(TemporalAdjusters.firstDayOfMonth())
        .with(LocalTime.MIN);

// 获取当前月的最后一天结束
LocalDateTime lastDay = dateTime
        .with(TemporalAdjusters.lastDayOfMonth())
        .with(LocalTime.MAX);

System.out.println(dateTime);
System.out.println(firstDay);
System.out.println(lastDay);