Java Day End getEndDateForYear()

Here you can find the source of getEndDateForYear()

Description

Return December 31st for the current year

License

Open Source License

Declaration

public static Date getEndDateForYear() 

Method Source Code

//package com.java2s;
/**/* ww w . j a v a 2s  . c  o m*/
 *
 * Licensed under the GNU General Public License (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.gnu.org/licenses/gpl.txt
 *
 * 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.
 *
 * 
 * @author Vadim Kisen
 *
 * copyright 2010 by uTest 
 */

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class Main {
    public static final int YEAR = Calendar.YEAR;
    public static final int HOUR = Calendar.HOUR;
    public static final int MINUTE = Calendar.MINUTE;
    public static final int SECOND = Calendar.SECOND;

    /**
     * Return December 31st for the current year
     * 
     * @return
     */
    public static Date getEndDateForYear() {
        return createDate(31, 12, getYear(new Date()));
    }

    /**
     * Creates a date. Note: there is no need to call clearDate() afterwards,
     * since this method creates a Date with zeroed time.
     * 
     * @param day
     *            1-based (do not use Calendar.<DAY> constants!)
     * @param month
     *            1-based (do not use Calendar.<MONTH> constants!)
     * @param year
     */
    public static Date createDate(final int day, final int month, final int year) {
        final Calendar calendar = Calendar.getInstance();
        calendar.set(year, month - 1, day);
        return clearDate(calendar.getTime());
    }

    public static Date createDate(final Date date) {
        final Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return clearDate(calendar.getTime());
    }

    public static int getYear(final Date date) {
        final Calendar calendar = GregorianCalendar.getInstance();
        calendar.clear();
        calendar.setTime(date);
        return calendar.get(Calendar.YEAR);
    }

    /**
     * Set hour, minute, second and millisecond to 0. Used for queries that need
     * precision in these parameters.
     */
    public static Date clearDate(final Date date) {
        if (date == null) {
            return null;
        }
        final Calendar calendar = GregorianCalendar.getInstance();

        calendar.setTime(date);
        calendar.set(Calendar.MILLISECOND, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        return calendar.getTime();
    }

    /**
     * Given a Date as parameter, it sets it to the specified time and returns a
     * copy.
     * 
     * @param date
     *            Original date
     * @param hours
     *            Hours to set to the date
     * @param minutes
     *            Minutes to set to the date
     * @param seconds
     *            Seconds to set to the date
     * 
     * @return A new Date with the given time.
     */
    public static Date setTime(final Date date, final int hours, final int minutes, final int seconds) {
        final Calendar aux = Calendar.getInstance();
        aux.setTime(date);
        aux.set(Calendar.MILLISECOND, 0);
        aux.set(Calendar.HOUR, hours);
        aux.set(Calendar.MINUTE, minutes);
        aux.set(Calendar.SECOND, seconds);
        return aux.getTime();
    }
}

Related

  1. getEndDate(Date startDate)
  2. getEndDate(int useMonth)
  3. getEndDate(String date)
  4. getEndDateByDate(Date date)
  5. getEndDateByYears(Date date, int years)
  6. getEndDateOfCurrentSemester()
  7. getEndDateOfMonth(Date given)
  8. getEndMonth(Date sessionEnd, int year, int excessDays)
  9. getEndOfDay(Date d)