dts <- as_datetimeoffset(c(NA_character_, "2020", "2020-04-10", "2020-04-10T10:10"))
datetime_precision(dts)
datetime_narrow(dts, "day")
datetime_widen(dts, "day")
datetime_cast(dts, "day")
datetime_widen(datetimeoffset(2020L), "day", month = 6, day = 15)
# vectorized "precision" is allowed
datetime_narrow(as_datetimeoffset(Sys.time()),
c("year", "day", "second"))
datetime_widen(NA_datetimeoffset_, c("year", "day", "second"), na_set = TRUE)
library("clock")
ymd <- year_month_day(1918, 11, 11, 11)
datetime_narrow(ymd, "day")
datetime_narrow(ymd, "second") # already narrower than "second"
datetime_widen(ymd, "second")
datetime_widen(ymd, "day") # already wider than "day"
if (FALSE) {
# comparable {clock} calendar methods throw an error in certain cases
clock::calendar_narrow(ymd, "second") # already narrower than "second"
clock::calendar_widen(ymd, "day") # already wider than "day"
}
nt <- as_naive_time(ymd)
datetime_narrow(nt, "day")
datetime_narrow(nt, "second")
datetime_widen(nt, "second")
datetime_widen(nt, "day")
datetime_cast(nt, "day") # same as clock::time_point_floor(nt, "day")
datetime_cast(nt, "day", method = "cast") # same as clock::time_point_cast(nt, "day")
Run the code above in your browser using DataLab