需求场景:
根据指定的日期,比如 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周

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐