专业编程基础技术教程

网站首页 > 基础教程 正文

LocalDate获取年、月、周的第一天和最后一天

ccvgpt 2024-10-23 09:26:59 基础教程 7 ℃

直接上代码。

#获取某年的第一天和最后一天
LocalDate date = LocalDate.parse("2021-01-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
final LocalDate bigenDayOfYear = date.with(TemporalAdjusters.firstDayOfYear());
final LocalDate lastDayOfYear = date.with(TemporalAdjusters.lastDayOfYear());

#获取某月的第一天和最后一天
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
final LocalDate bigenDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth());
final LocalDate lastDayOfMonth = localDate.with(TemporalAdjusters.lastDayOfMonth());

#获取某周的第一天和最后一天
LocalDate localDate = LocalDate.now();
TemporalField field = WeekFields.of(Locale.CHINA).dayOfWeek();
final LocalDate bigenDayOfWeek = localDate.with(field, 1);
final LocalDate lastDayOfWeek = localDate.with(field, 7);

至于Java中Date和LocalDate的相互转换就比较简单了。特别是很多对于日期粒度的数据统计,LocalDate就OK了。

LocalDate获取年、月、周的第一天和最后一天

最近发表
标签列表