Here you can find the source of getEndOfWeek(Calendar calendar, Date date, int dayStartOfWeek)
Parameter | Description |
---|---|
calendar | a parameter |
date | a parameter |
dayStartOfWeek | this is the same constants as Calendar.MONDAY etc |
public static Date getEndOfWeek(Calendar calendar, Date date, int dayStartOfWeek)
//package com.java2s; /*//from w w w .j a v a 2 s . c o m * Copyright 2010-2011 Heads Up Development Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.util.Calendar; import java.util.Date; public class Main { /** * convenience wrapper assuming the start of the week is monday * * @param calendar * @param date * @return a date object set to the end of the week, eg. yyyy-mm-dd 23:595:59 999 */ public static Date getEndOfWeek(Calendar calendar, Date date) { return getEndOfWeek(calendar, date, Calendar.MONDAY); } /** * @param calendar * @param date * @param dayStartOfWeek this is the same constants as Calendar.MONDAY etc * @return a date object set to the end of the week, eg. yyyy-mm-dd 23:59:59 999 */ public static Date getEndOfWeek(Calendar calendar, Date date, int dayStartOfWeek) { ensureStateValid(calendar, date); calendar.setTime(date); setDateToZeroHour(calendar); do { calendar.add(Calendar.DATE, 1); } while (calendar.get(Calendar.DAY_OF_WEEK) != dayStartOfWeek); calendar.add(Calendar.MILLISECOND, -1); return calendar.getTime(); } private static void ensureStateValid(Calendar calendar, Date date) { ensureStateValid(calendar); if (date == null) { throw new IllegalStateException("Date object was null, this is required"); } } private static void ensureStateValid(Calendar calendar) { if (calendar == null) { throw new IllegalStateException("Calendar object was null, this is required"); } } private static void setDateToZeroHour(Calendar calendar) { calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); } }