# %MONTHS (Number of Months)

`%MONTHS(number)`

%MONTHS converts a number into a duration that can be added to a date or timestamp value.

%MONTHS can only be the right-hand value in an addition or subtraction operation. The left-hand value must be a date or timestamp. The result is a date or timestamp value with the appropriate number of months added or subtracted. For a date, the resulting value is in *ISO format.

In most cases, the result of adding or subtracting a given number of months is obvious. For example, 2000-03-15 + %MONTHS(1) is 2000-04-15. If the addition or subtraction would produce a nonexistent date (for example, February 30), the last day of the month is used instead.

Adding or subtracting a number of months to the 29th, 30th, or 31st day of a month may not be reversible. For example, 2000-03-31 + %MONTHS(1) - %MONTHS(1) is 2000-03-30.

For more information, see Date Operations or Built-in Functions.

```
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
```** /FREE**
// Determine the date in 3 years
** newdate = date + %YEARS(3);**
// Determine the date in 6 months prior
** loandate = duedate - %MONTHS(6);**
// Construct a timestamp from a date and time
** duestamp = duedate + t'12.00.00';**
** /END-FREE**