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

Java examples for java.util:Week

Description

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

Demo Code

/*//from  ww w. j  a v a 2s  .c o m
 *  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(getFirstDayOfWeek(c));
    }
    /**
     * Gets the first day of the week based on the given {@link Calendar}.
     *
     * @param c Calendar for which to get the first day of the week
     * @return The first day of the week in the given {@link Calendar}
     */
    public static Calendar getFirstDayOfWeek(Calendar c) {
        int week = c.get(java.util.Calendar.WEEK_OF_YEAR);
        int year = c.get(java.util.Calendar.YEAR);
        return CalendarUtils.findStartOfWeek(week, year);
    }
    /**
     * Determines the first date given a week number and year.
     *
     * @param weekNumber Week number
     * @param year Year
     * @return {@link Calendar} containing the first day of the week
     */
    public static Calendar findStartOfWeek(int weekNumber, int year) {
        Calendar start = Calendar.getInstance();
        start.setFirstDayOfWeek(Calendar.MONDAY);
        start.set(Calendar.YEAR, year);
        start.set(Calendar.WEEK_OF_YEAR, weekNumber);

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

Related Tutorials