需求场景:
根据指定的日期,比如 2023-03-07 ,是第几周
代码如下:
public class Test11 { public static void main(String[] args) { System.out.println(getWeeksInMonthOfDate("2023-03-07")); } /** * 获取指定日期-XXXX年X月第X周 * @param dateStr * @return */ public static String getWeeksInMonthOfDate(String dateStr){ SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); try { calendar.setTime(df.parse(dateStr)); } catch (ParseException e) { e.printStackTrace(); } //设置每周第一天为周一 默认每周第一天为周日 calendar.setFirstDayOfWeek(Calendar.MONDAY); //获取当前日期所在周周日 calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY); return String.valueOf(calendar.get(Calendar.YEAR)).concat("年"). concat(String.valueOf(calendar.get(Calendar.MONTH)+1)).concat("月第"). concat(String.valueOf(calendar.get(Calendar.WEEK_OF_MONTH))).concat("周"); } }
运行结果
2023年3月第2周