Skip to content

as_naive_time() converts x to a naive-time.

You can convert to a naive-time from any calendar type, as long as it has at least day precision. There also must not be any invalid dates. If invalid dates exist, they must first be resolved with invalid_resolve().

Converting to a naive-time from a sys-time or zoned-time retains the printed time, but drops the assumption that the time should be interpreted with any specific time zone.

Converting to a naive-time from a duration just wraps the duration in a naive-time object, there is no assumption about the time zone. The duration must have at least day precision.

There are convenience methods for converting to a naive-time from R's native date and date-time types. Like converting from a zoned-time, these retain the printed time.


as_naive_time(x, ...)




An object to convert to a naive-time.


These dots are for future extensions and must be empty.


A naive-time vector.


x <- as.Date("2019-01-01")
#> <naive_time<day>[1]>
#> [1] "2019-01-01"

ym <- year_month_day(2019, 02)

# A minimum of day precision is required
#> Error : Can't convert to a time point from a calendar with 'month' precision. A minimum of 'day' precision is required.

ymd <- set_day(ym, 10)
#> <naive_time<day>[1]>
#> [1] "2019-02-10"