Here you can find the source of setStartOfWeek(Calendar date)
public static void setStartOfWeek(Calendar date)
//package com.java2s; /*//from w ww . ja v a 2s .co m * Copyright (C) 2002-2006 Stefan Stiller * * 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 2 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ import java.util.Date; import java.util.Calendar; public class Main { public final static long SECOND = 1000; public final static long MINUTE = 60 * SECOND; private static int firstDayOfWeek = Calendar.MONDAY; /** * Sets the date to the begin of the week. */ public static void setStartOfWeek(Calendar date) { date.add(Calendar.DATE, -getDayOfWeek(date)); date.set(Calendar.HOUR_OF_DAY, 0); date.set(Calendar.MINUTE, 0); date.set(Calendar.SECOND, 0); date.set(Calendar.MILLISECOND, 0); } public static Date add(Date date, int field, int value) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(field, value); return calendar.getTime(); } /** * Returns the day of week depending if the week starts on sunday or monday. * * @return 0 for the first day of the week and 6 for the last. */ public static int getDayOfWeek(Calendar date) { int day = date.get(Calendar.DAY_OF_WEEK); if (getFirstDayOfWeek() == Calendar.SUNDAY) return day - 1; else { if (day >= Calendar.MONDAY) return day - Calendar.MONDAY; else return 6; } } public static int getFirstDayOfWeek() { return firstDayOfWeek; } }