Subsets a mts_monitor object by date. This function
always filters to day-boundaries. For sub-day filtering, use
monitor_filterDatetime()
.
Dates can be anything that is understood by MazamaCoreUtils::parseDatetime()
including either of the following recommended formats:
"YYYYmmdd"
"YYYY-mm-dd"
If either startdate
or enddate
is not provided, the start/end of
the mts_monitor time axis will be used.
Timezone determination precedence assumes that if you are passing in
POSIXct
values then you know what you are doing.
get timezone from startdate
if it is POSIXct
use passed in timezone
get timezone from mts_monitor
monitor_filterDate(
monitor = NULL,
startdate = NULL,
enddate = NULL,
timezone = NULL,
unit = "sec",
ceilingStart = FALSE,
ceilingEnd = FALSE
)
mts_monitor object.
Desired start datetime (ISO 8601).
Desired end datetime (ISO 8601).
Olson timezone used to interpret dates.
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 subset of the given mts_monitor object. (A list with
meta
and data
dataframes.)
The returned data will run from the beginning of startdate
until
the beginning of enddate
-- i.e. no values associated
with enddate
will be returned. The exception being when
enddate
is less than 24 hours after startdate
. In that case, a
single day is returned.
library(AirMonitor)
Camp_Fire %>%
monitor_timeRange()
#> [1] "2018-11-08 08:00:00 UTC" "2018-11-23 07:00:00 UTC"
# Day boundaries returned in "UTC"
Camp_Fire %>%
monitor_filterDate(
"2018-11-15",
"2018-11-22",
timezone = "America/Los_Angeles"
) %>%
monitor_timeRange()
#> [1] "2018-11-15 08:00:00 UTC" "2018-11-22 07:00:00 UTC"
# Day boundaries returned in "America/Los_Angeles"
Camp_Fire %>%
monitor_filterDatetime(
"20181115",
"20181122",
timezone = "America/Los_Angeles"
) %>%
monitor_timeRange(
timezone = "America/Los_Angeles"
)
#> [1] "2018-11-15 00:00:00 PST" "2018-11-21 23:00:00 PST"