calendar_narrow()
narrows x
to the specified precision
. It does so
by dropping components that represent a precision that is finer than
precision
.
Each calendar has its own help page describing the precisions that you can narrow to:
Details
A subsecond precision x
cannot be narrowed to another subsecond precision.
You cannot narrow from, say, "nanosecond"
to "millisecond"
precision.
clock operates under the philosophy that once you have set the subsecond
precision of a calendar, it is "locked in" at that precision. If you
expected this to use integer division to divide the nanoseconds by 1e6 to
get to millisecond precision, you probably want to convert to a time point
first, and use time_point_floor()
.
Examples
# Hour precision
x <- year_month_day(2019, 1, 3, 4)
x
#> <year_month_day<hour>[1]>
#> [1] "2019-01-03T04"
# Narrowed to day precision
calendar_narrow(x, "day")
#> <year_month_day<day>[1]>
#> [1] "2019-01-03"
# Or month precision
calendar_narrow(x, "month")
#> <year_month_day<month>[1]>
#> [1] "2019-01"