以下的时间格式都是 yyyy-MM-dd 做判断的时候用 .compartTo() 方法
//eg
if(a.compartTo(b) > 0){
System.out.println("a>b");
}else if(a.compartTo(b) < 0){
System.out.println("a<b");
}else if(a.compartTo(b) == 0){
sout("a=b")
}
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//TODO 获取当前时间
LocalDate inputDate = LocalDate.now();
//TODO 当天开始
LocalDateTime today_start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
//TODO 当天结束
LocalDateTime today_end = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
String todayStartTime = today_start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
String todayEndTime = today_end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
//TODO 本周开始时间
TemporalAdjuster FIRST_OF_WEEK =
TemporalAdjusters.ofDateAdjuster(localDate -> localDate.minusDays(localDate.getDayOfWeek().getValue()- DayOfWeek.MONDAY.getValue()));
String weekStart = df.format(inputDate.with(FIRST_OF_WEEK));
//TODO 本周结束时间
TemporalAdjuster LAST_OF_WEEK =
TemporalAdjusters.ofDateAdjuster(localDate -> localDate.plusDays(DayOfWeek.SUNDAY.getValue() - localDate.getDayOfWeek().getValue()));
String weekEnd = df.format(inputDate.with(LAST_OF_WEEK));
//TODO 本月的第一天
String monthStart = df.format(LocalDate.of(inputDate.getYear(),inputDate.getMonth(),1));
//TODO 本月的最后一天
String monthEnd = df.format(inputDate.with(TemporalAdjusters.lastDayOfMonth()));
本文介绍了如何使用Java进行日期的格式化、比较以及获取特定时间点(如当天开始和结束时间、本周开始和结束时间、本月第一天和最后一天)的方法。通过具体示例展示了如何利用LocalDate、LocalDateTime和TemporalAdjusters等API来实现这些功能。

1万+

被折叠的 条评论
为什么被折叠?



