java获取指定日期是第几周
需求场景:
根据指定的日期,比如 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周
还没有评论,来说两句吧...