Java-通过年和月获取当前月有几个周一并获取周一的日期
Java-通过年和月获取当前月有几个周一并获取周一的日期
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.LinkedList; import java.util.List; import com.alibaba.fastjson.JSONObject; public class DateUtilWeek { public static void main(String[] args) throws ParseException { getWeekS(2022, 1); } public static JSONObject getWeekS(Integer year, Integer month) throws ParseException { List<String> weeks = new LinkedList<>(); int tongji = 0; Calendar c = Calendar.getInstance(); c.set(year, month - 1, 1); int mountDay = c.getActualMaximum(Calendar.DAY_OF_MONTH); SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd E"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i=1;i<=mountDay;i++) { String date1 = year + "-"; if (month < 10) { date1 += "0" + month + "-"; } else { date1 += month + "-"; } if (i < 10) { date1 += "0" + i; } else { date1 += i; } String dateStr = sim.format(sdf.parse(date1)); String weekStr = dateStr.substring(11,14); if ("星期一".equals(weekStr)) { weeks.add(date1); tongji++; } } JSONObject data = new JSONObject(); data.put("num", tongji); data.put("list", weeks); return data; } }