Skip to contents

as_month() is a generic for coercing input in to <grates_month>.

Usage

as_month(x, n, ...)

# S3 method for default
as_month(x, n, ...)

# S3 method for Date
as_month(x, n, ...)

# S3 method for POSIXt
as_month(x, n, ...)

# S3 method for character
as_month(x, n, ...)

# S3 method for factor
as_month(x, n, ...)

Arguments

x

An R object.

Character input is first parsed using as.Date().

POSIXt inputs are converted with the timezone respected.

n

[integer]

Number of months that are being grouped. Must be greater than 1 (use as_yearmonth() for this case).

...

Only used For character input where additional arguments are passed through to as.Date().

Value

A <grates_month> object.

Note

Internally grates_month objects are stored as the position, starting at 0, of n-month groups since the Unix Epoch (1970-01-01). Here n-months is taken to mean a 'grouping of n consecutive months'. Precision is only to the month level (i.e. the day of the month is always dropped).

References

The algorithm to convert between dates and months relative to the UNIX Epoch comes from the work of Davis Vaughan in the unreleased datea package.

See also

Examples

as_month("2019-05-03", n = 4L)
#> <grates_yearmonth[1]>
#> [1] "2019-May to 2019-Aug"
as_month(as.POSIXct("2019-03-04 01:01:01", tz = "America/New_York"), n = 2)
#> <grates_yearmonth[1]>
#> [1] "2019-Mar to 2019-Apr"