Android Date Add addMonths(Date date, int amount)

Here you can find the source of addMonths(Date date, int amount)

Description

Adds a number of months to a date returning a new object.

License

Apache License

Parameter

Parameter Description
date the date, not null
amount the amount to add, may be negative

Exception

Parameter Description
IllegalArgumentException if the date is null

Return

the new Date with the amount added

Declaration

public static Date addMonths(Date date, int amount) 

Method Source Code

//package com.java2s;
/*/*from www.ja  v a  2 s.  co  m*/
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 {
    /**
     * Adds a number of months to a date returning a new object.
     * The original {@code Date} is unchanged.
     *
     * @param date  the date, not null
     * @param amount  the amount to add, may be negative
     * @return the new {@code Date} with the amount added
     * @throws IllegalArgumentException if the date is null
     */
    public static Date addMonths(Date date, int amount) {
        return add(date, Calendar.MONTH, amount);
    }

    /**
     * Adds to a date returning a new object.
     * The original {@code Date} is unchanged.
     *
     * @param date  the date, not null
     * @param calendarField  the calendar field to add to
     * @param amount  the amount to add, may be negative
     * @return the new {@code Date} with the amount added
     * @throws IllegalArgumentException if the date is null
     */
    private static Date add(Date date, int calendarField, int amount) {
        if (date == null) {
            throw new IllegalArgumentException("The date must not be null");
        }
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        c.add(calendarField, amount);
        return c.getTime();
    }
}

Related

  1. addMilliseconds(Date date, int amount)
  2. addMinuteToDate(Date date, int minutesToBeAdded)
  3. addMinutes(Date date, int amount)
  4. addMinutes(Date date, int amount)
  5. addMonths(Date date, int amount)
  6. addMonthsToDate(Date date, int monthsToBeAdded)
  7. addSeconds(Date date, int amount)
  8. addSeconds(Date date, int amount)
  9. addWeeks(Date date, int amount)