Java Calendar Week getWeekOfCurrentDayWithoutStartShift(Calendar cal)

Here you can find the source of getWeekOfCurrentDayWithoutStartShift(Calendar cal)

Description

get Week Of Current Day Without Start Shift

License

Open Source License

Declaration

public static int getWeekOfCurrentDayWithoutStartShift(Calendar cal) 

Method Source Code

//package com.java2s;
/* ***** BEGIN LICENSE BLOCK *****
 * /*w ww . jav a 2 s.c  o  m*/
 * Copyright (C) 2011-2014  Linagora
 *
 * This program is free software: you can redistribute it and/or 
 * modify it under the terms of the GNU Affero General Public License as 
 * published by the Free Software Foundation, either version 3 of the 
 * License, or (at your option) any later version, provided you comply 
 * with the Additional Terms applicable for OBM connector by Linagora 
 * pursuant to Section 7 of the GNU Affero General Public License, 
 * subsections (b), (c), and (e), pursuant to which you must notably (i) retain 
 * the ?Message sent thanks to OBM, Free Communication by Linagora?? 
 * signature notice appended to any and all outbound messages 
 * (notably e-mail and meeting requests), (ii) retain all hypertext links between 
 * OBM and obm.org, as well as between Linagora and linagora.com, and (iii) refrain 
 * from infringing Linagora intellectual property rights over its trademarks 
 * and commercial brands. Other Additional Terms apply, 
 * see <http://www.linagora.com/licenses/> for more details. 
 *
 * 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 Affero General Public License 
 * for more details. 
 *
 * You should have received a copy of the GNU Affero General Public License 
 * and its applicable Additional Terms for OBM along with this program. If not, 
 * see <http://www.gnu.org/licenses/> for the GNU Affero General Public License version 3 
 * and <http://www.linagora.com/licenses/> for the Additional Terms applicable to 
 * OBM connectors. 
 * 
 * ***** END LICENSE BLOCK ***** */

import java.util.Calendar;

public class Main {
    public static int getWeekOfCurrentDayWithoutStartShift(Calendar cal) {
        int eventStartDay = cal.get(Calendar.DAY_OF_MONTH);
        int eventWeekOfMonth = cal.get(Calendar.WEEK_OF_MONTH);
        int eventRealWeekOfMonth = getRealWeekOfDay(eventStartDay);
        return adjustWeekOfMonth(eventWeekOfMonth, eventRealWeekOfMonth);
    }

    private static int getRealWeekOfDay(int startDay) {
        return (int) Math.ceil(startDay / 7d);
    }

    private static int adjustWeekOfMonth(int eventWeekOfMonth, int eventRealWeekOfMonth) {
        if (eventWeekOfMonth > 1 && eventWeekOfMonth > eventRealWeekOfMonth) {
            return eventWeekOfMonth - 1;
        }
        return eventWeekOfMonth;
    }
}

Related

  1. getLastDayOfWeek(Calendar cal)
  2. getWeek(Calendar calendar)
  3. getWeekDay(Calendar cal)
  4. getWeekdayPosition(Calendar jCalendar)
  5. getWeekEnd(boolean startSunday, Calendar date)
  6. getWeekStart(boolean startSunday, Calendar date)
  7. isThisWeek(Calendar time)
  8. isWeekday(Calendar cal)
  9. isWeekEnd(Calendar c)