package com.yonyou.ucf.mdf.util; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class WeekUtil { public static String main(String[] args) { Date date = new Date(); // 当前日期 Date weekStartDate = getWeekStartDate(date); Date weekEndDate = getWeekEndDate(date); int weekNumber = getWeekNumber(date); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("当前日期所在周一日期:" + sdf.format(weekStartDate)); System.out.println("当前日期所在周日日期:" + sdf.format(weekEndDate)); System.out.println("当前日期所在第" + weekNumber + "周"); return "第" + weekNumber + "周:" + sdf.format(weekStartDate) + " ~ " + sdf.format(weekEndDate); }
// 解析日期字符串为LocalDate对象 LocalDate dateW = LocalDate.parse(date, DateTimeFormatter.ISO_DATE); // 计算当前周的周一和周日 LocalDate monday = dateW.with(DayOfWeek.MONDAY); LocalDate sunday = dateW.with(DayOfWeek.SUNDAY); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String mondayString = monday.format(formatter); String sundayString = sunday.format(formatter);
// 获取某个日期所在的周数 public static int getWeekNumber(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.WEEK_OF_YEAR); } // 获取当前日期中的年份 public static int getYearFromDate(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.YEAR); } }