使用Java17获取指定日期,星期几、周、月、季度、年,第一天与最后一天日期获取
Java17获取日期
使用Java17获取指定日期,星期几、周、月、季度、年,第一天与最后一天日期获取
1. 获取日期代码
/**
* description: 使用Java17获取指定日期,星期几、周、月、季度、年,第一天与最后一天日期获取
*
* @author:jinshengyuan
* @date: 2023/12/14
*/
@Test
public void getDateUseJava17(){
//使用java.time.LocalDate类获取当前时间
LocalDate date = LocalDate.now();
System.out.println("今天星期几?===>"+date.getDayOfWeek());
System.out.println("当前月份===>"+date.getMonthValue());
LocalDate lastDayOfPreviousWeek = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.SUNDAY));
System.out.println("上周的最后一天:" + lastDayOfPreviousWeek);
LocalDate lastDayOfWeek = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
System.out.println("本周的最后一天:" + lastDayOfWeek);
//本月第一天、最后一天
LocalDate firstDayOfMonth = date.with(TemporalAdjusters.firstDayOfMonth());
System.out.println("本月第一天:" + firstDayOfMonth);
LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("本月最后一天:" + lastDayOfMonth);
//获取季度
int quarter = (date.getMonthValue() - 1) / 3 + 1;
System.out.println("当前第"+quarter+"季度");
LocalDate previousDayOfQuarter = date.minusMonths(quarter - date.getMonthValue() % 3).with(TemporalAdjusters.lastDayOfMonth());
System.out.println("上季度的最后一天:" + previousDayOfQuarter);
LocalDate previousLastDayOfQuarter = date.minusMonths(quarter - date.getMonthValue() % 3).with(TemporalAdjusters.firstDayOfMonth()).with(TemporalAdjusters.firstDayOfNextMonth());
System.out.println("本季度第一天:" + previousLastDayOfQuarter);
LocalDate lastDayOfQuarter = date.withDayOfMonth(quarter - date.getMonthValue() % 3).with(TemporalAdjusters.lastDayOfMonth());
System.out.println("本季度的最后一天:" + lastDayOfQuarter);
//本年第一天、最后一天
LocalDate firstDayOfYear = date.with(TemporalAdjusters.firstDayOfYear());
System.out.println("本年第一天:" + firstDayOfYear);
LocalDate lastDayOfYear = date.with(TemporalAdjusters.lastDayOfYear());
System.out.println("本年最后一天:" + lastDayOfYear);
}
2. 输出结果
今天星期几?===>THURSDAY
当前月份===>12
上周的最后一天:2023-12-10
本周的最后一天:2023-12-17
本月第一天:2023-12-01
本月最后一天:2023-12-31
当前第4季度
上季度的最后一天:2023-08-31
本季度第一天:2023-09-01
本季度的最后一天:2023-12-31
本年第一天:2023-01-01
本年最后一天:2023-12-31