Uses incoming parameters to return a pair of POSIXct
times in the
proper order. Both start and end times will have lubridate::floor_date()
applied to get the nearest unit
. This can be modified by specifying
ceilingStart = TRUE
or ceilingEnd = TRUE
in which case
lubridate::ceiling_date()
will be applied.
The required timezone
parameter must be one of those found in
OlsonNames
.
Dates can be anything that is understood by
lubrdiate::parse_date_time()
including either of the following
recommended formats:
"YYYYmmddHH[MMSS]"
"YYYY-mm-dd HH:MM:SS"
timeRange(
starttime = NULL,
endtime = NULL,
timezone = NULL,
unit = "sec",
ceilingStart = FALSE,
ceilingEnd = FALSE
)
Desired start datetime (ISO 8601).
Desired end datetime (ISO 8601).
Olson timezone used to interpret dates (required).
Units used to determine time at end-of-day.
Logical instruction to apply
ceiling_date
to the startdate
rather than
floor_date
Logical instruction to apply
ceiling_date
to the enddate
rather than
floor_date
A vector of two POSIXct
s.
When startdate
or enddate
are already POSIXct
values,
they are converted to the timezone specified by timezone
without
altering the physical instant in time the input represents. This is different
from the behavior of parse_date_time
(which powers
this function), which will force POSIXct
inputs into a new timezone,
altering the physical moment of time the input represents.
library(MazamaCoreUtils)
timeRange("2019-01-08 10:12:15", 20190109102030, timezone = "UTC")
#> [1] "2019-01-08 10:12:15 UTC" "2019-01-09 10:20:30 UTC"