ACL Scripting Guide 14.1

GOMONTH( ) function

Returns the date that is the specified number of months before or after a specified date.

GOMONTH(date/datetime, months)
Name Type Description
date/datetime

datetime

The field, expression, or literal value from which to calculate the output date.

months

numeric

The number of months before or after date/datetime.

Note

You can specify a datetime value for date/datetime but the time portion of the value is ignored.

Datetime. The date value is output using the current Analytics date display format.

Basic examples

Literal input values

Returns `20140415` displayed as 15 Apr 2014 assuming a current Analytics date display format of DD MMM YYYY:

GOMONTH(`20140115`, 3)

Returns `20131015` displayed as 15 Oct 2013 assuming a current Analytics date display format of DD MMM YYYY:

GOMONTH(`20140115`, -3)

Returns `20140430` displayed as 30 Apr 2014 assuming a current Analytics date display format of DD MMM YYYY (date rounding prevents returning 31 Apr 2014, which is an invalid date):

GOMONTH(`20140330`, 1)
GOMONTH(`20140331`, 1)

Returns `20140501` displayed as 01 May 2014 assuming a current Analytics date display format of DD MMM YYYY:

GOMONTH(`20140401`, 1)

Field input values

Returns the date three months after each date in the Invoice_date field:

GOMONTH(Invoice_date, 3)

Returns the date three months after each date in the Invoice_date field plus a grace period of 15 days:

GOMONTH(Invoice_date + 15, 3)

Datetime formats

A field specified for date/datetime can use any date or datetime format, as long as the field definition correctly defines the format.

A literal date value must use one of the following formats:

  • YYYYMMDD
  • YYMMDD

You must enclose literal date values in backquotes. For example: `20141231`

How the months value works

  • Positive value the output date is more recent than the specified date/datetime
  • Negative value the output date is prior to the specified date/datetime
  • Value omitted, or '0' (zero) the output date is the same as the date/datetime

Date rounding to avoid non-existent dates

If the combination of date/datetime and months would produce a non-existent date, the GOMONTH( ) function uses 'date rounding' to return the closest valid date within the same month.

Returns `20140430` (30 Apr 2014) because 31 Apr 2014 is an invalid date:

GOMONTH(`20140331`,1)

Related functions

Use the EOMONTH( ) function if you want to return the date of the last day of the month, rather than the exact date, that is the specified number of months before or after a specified date.