Source Code : Get Next Monday

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Get Next Monday

    
/*
    Copyright (C) 2008-2009 Dmitry Gusev <dmitry.gusev@gmail.com>

    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 Util {
    public static Date getMonday(Date today) {
        Calendar cal = Calendar.getInstance();
        
        cal.setTime(today);

        int dow = cal.get(Calendar.DAY_OF_WEEK);
        
        while (dow != Calendar.MONDAY) {
            int date = cal.get(Calendar.DATE);
            
            if (date == 1) {
                int month = cal.get(Calendar.MONTH);
                
                if (month == Calendar.JANUARY) {
                    month = Calendar.DECEMBER;
                    
                    cal.set(Calendar.YEAR, cal.get(Calendar.YEAR) - 1);
                } else {
                    month--;
                }
                
                cal.set(Calendar.MONTH, month);
                
                date = getMonthLastDate(month, cal.get(Calendar.YEAR));
            } else {
                date--;
            }
            
            cal.set(Calendar.DATE, date);
            
            dow = cal.get(Calendar.DAY_OF_WEEK);
        }
        
        return cal.getTime();
    }
    private static int getMonthLastDate(int month, int year) {
        switch (month) {
            case Calendar.JANUARY:  
            case Calendar.MARCH:
            case Calendar.MAY:
            case Calendar.JULY:
            case Calendar.AUGUST:
            case Calendar.OCTOBER:
            case Calendar.DECEMBER:
                return 31;

            case Calendar.APRIL:
            case Calendar.JUNE:
            case Calendar.SEPTEMBER:
            case Calendar.NOVEMBER:
                return 30;
                
            default:    //  Calendar.FEBRUARY
                return year % 4 == 0 ? 29 : 28;
        }
    }
}

   
    
    
    
  

Thank with us