In Java, get all weekend dates in a given month

前端 未结 4 2163
野的像风
野的像风 2020-11-28 14:32

I need to find all the weekend dates for a given month and a given year.

Eg: For 01(month), 2010(year), the output should be : 2,3,9,10,16,17,23,24,30,31, all week

4条回答
  •  青春惊慌失措
    2020-11-28 15:01

    Here is a rough version with comments describing the steps:

    // create a Calendar for the 1st of the required month
    int year = 2010;
    int month = Calendar.JANUARY;
    Calendar cal = new GregorianCalendar(year, month, 1);
    do {
        // get the day of the week for the current day
        int day = cal.get(Calendar.DAY_OF_WEEK);
        // check if it is a Saturday or Sunday
        if (day == Calendar.SATURDAY || day == Calendar.SUNDAY) {
            // print the day - but you could add them to a list or whatever
            System.out.println(cal.get(Calendar.DAY_OF_MONTH));
        }
        // advance to the next day
        cal.add(Calendar.DAY_OF_YEAR, 1);
    }  while (cal.get(Calendar.MONTH) == month);
    // stop when we reach the start of the next month
    

提交回复
热议问题