Gets the last day of the week based on the given Calendar . - Java java.util

Java examples for java.util:Week

Description

Gets the last day of the week based on the given Calendar .

Demo Code

/*//w w  w  .j  a  va 2  s . c  om
 *  Copyright (C) 2010 - 2014 Converge Consulting Limited
 * 
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 * 
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 * 
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
import java.util.Calendar;
import java.util.Date;

public class Main{
    public static void main(String[] argv) throws Exception{
        Calendar c = Calendar.getInstance();
        System.out.println(getLastDayOfWeek(c));
    }
    /**
     * Gets the last day of the week based on the given {@link Calendar}.
     *
     * @param c Calendar for which to get the last day of the week
     * @return The last day of the week in the given {@link Calendar}
     */
    public static Calendar getLastDayOfWeek(Calendar c) {
        int week = c.get(java.util.Calendar.WEEK_OF_YEAR);
        int year = c.get(java.util.Calendar.YEAR);
        return CalendarUtils.findEndOfWeek(week, year);
    }
    /**
     * Determines the end date given a week number and year.
     *
     * @param weekNumber Week number
     * @param year Year
     * @return {@link Calendar} containing the last day of the week
     */
    public static Calendar findEndOfWeek(int weekNumber, int year) {
        Calendar end = Calendar.getInstance();
        end.setFirstDayOfWeek(Calendar.MONDAY);
        end.set(Calendar.YEAR, year);
        end.set(Calendar.WEEK_OF_YEAR, weekNumber);

        while (end.get(Calendar.WEEK_OF_YEAR) == weekNumber) {
            end.add(Calendar.DAY_OF_MONTH, 1);
        }
        end.add(Calendar.DAY_OF_MONTH, -1);
        return end;
    }
}

Related Tutorials