year_month_weekday {clock}R Documentation

Calendar: year-month-weekday

Description

year_month_weekday() constructs a calendar vector from the Gregorian year, month, weekday, and index specifying that this is the n-th weekday of the month.

Usage

year_month_weekday(
  year,
  month = NULL,
  day = NULL,
  index = NULL,
  hour = NULL,
  minute = NULL,
  second = NULL,
  subsecond = NULL,
  ...,
  subsecond_precision = NULL
)

Arguments

year

⁠[integer]⁠

The year. Values ⁠[-32767, 32767]⁠ are generally allowed.

month

⁠[integer / NULL]⁠

The month. Values ⁠[1, 12]⁠ are allowed.

day

⁠[integer / NULL]⁠

The weekday of the month. Values ⁠[1, 7]⁠ are allowed, where 1 is Sunday and 7 is Saturday.

index

⁠[integer / "last" / NULL]⁠

The index specifying that day is the n-th weekday of the month. Values ⁠[1, 5]⁠ are allowed.

If "last", then the last instance of day in the current month is returned.

hour

⁠[integer / NULL]⁠

The hour. Values ⁠[0, 23]⁠ are allowed.

minute

⁠[integer / NULL]⁠

The minute. Values ⁠[0, 59]⁠ are allowed.

second

⁠[integer / NULL]⁠

The second. Values ⁠[0, 59]⁠ are allowed.

subsecond

⁠[integer / NULL]⁠

The subsecond. If specified, subsecond_precision must also be specified to determine how to interpret the subsecond.

If using milliseconds, values ⁠[0, 999]⁠ are allowed.

If using microseconds, values ⁠[0, 999999]⁠ are allowed.

If using nanoseconds, values ⁠[0, 999999999]⁠ are allowed.

...

These dots are for future extensions and must be empty.

subsecond_precision

⁠[character(1) / NULL]⁠

The precision to interpret subsecond as. One of: "millisecond", "microsecond", or "nanosecond".

Details

Fields are recycled against each other.

Fields are collected in order until the first NULL field is located. No fields after the first NULL field are used.

Value

A year-month-weekday calendar vector.

Examples

# All Fridays in January, 2019
# Note that there was no 5th Friday in January
x <- year_month_weekday(
  2019,
  clock_months$january,
  clock_weekdays$friday,
  1:5
)
x

invalid_detect(x)

# Resolve this invalid date by using the previous valid date
invalid_resolve(x, invalid = "previous")

[Package clock version 0.6.0 Index]