Here you can find the source of weekOfMonth(int dayCount, int commonMonthIndex)
Parameter | Description |
---|---|
dayCount | days from January 1 |
commonMonthIndex | month 1-12 |
public static int weekOfMonth(int dayCount, int commonMonthIndex)
//package com.java2s; /* ***** BEGIN LICENSE BLOCK ***** * * Copyright (c) 2001-2014, Kevin Sven Berg * All rights reserved.//w w w . jav a2s . c om * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the <organization> nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * ***** END LICENSE BLOCK ***** */ public class Main { protected static final int[] FirstDayOfMonth = { 1, 32, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 }; /** * Answer the nth week of the given month * * @param dayCount days from January 1 * @param commonMonthIndex month 1-12 * @return int */ public static int weekOfMonth(int dayCount, int commonMonthIndex) { int daysIntoMonth = dayCount - FirstDayOfMonth[commonMonthIndex - 1] + 1; return (daysIntoMonth / 7) + (((daysIntoMonth % 7) > 0) ? 1 : 0); } }