import java.time.LocalDateTime;
import java.time.DayOfWeek;
import java.time.temporal.TemporalAdjusters;
import java.time.format.DateTimeFormatter;
public class WeekStartEnd {
public static void main(String[] args) {
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 获取本周的开始时间(周一 00:00:00)
LocalDateTime startOfWeek = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY))
.toLocalDate().atStartOfDay();
// 获取本周的结束时间(周日 23:59:59)
LocalDateTime endOfWeek = now.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY))
.toLocalDate().atTime(23, 59, 59);
// 格式化输出
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println("本周开始时间: " + startOfWeek.format(formatter));
System.out.println("本周结束时间: " + endOfWeek.format(formatter));
}
}
LocalDateTime.now() 获取当前的日期和时间。TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY) 获取当前日期之前的最近一个周一,如果当天是周一,则返回当天。toLocalDate().atStartOfDay() 将时间设置为当天的 00:00:00。TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY) 获取当前日期之后的最近一个周日,如果当天是周日,则返回当天。toLocalDate().atTime(23, 59, 59) 将时间设置为当天的 23:59:59。DateTimeFormatter 将 LocalDateTime 对象格式化为字符串以便打印。这样就可以得到本周的开始时间和结束时间。
上一篇:java的foreach
下一篇:java 异步调用
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站