Trims the date range of an mts object to local time date boundaries which are within the time range of the mts object. This has the effect of removing partial-day data records at the start and end of the timeseries and is useful when calculating full-day statistics.

By default, multi-day periods of all-missing data at the beginning and end of the timeseries are removed before trimming to date boundaries. If trimEmptyDays = FALSE all records are retained except for partial days beyond the first and after the last date boundary.

Day boundaries are calculated using the specified timezone or, if NULL, mts$meta$timezone. Leaving timezone = NULL, the default, results in "local time" date filtering which is the most common use case.

mts_trimDate(mts = NULL, timezone = NULL, trimEmptyDays = TRUE)



mts object.


Olson timezone used to interpret dates.


Logical specifying whether to remove days with no data at the beginning and end of the time range.


A subset of the incoming mts time series object. (A list with meta and data dataframes.)



UTC_week <- mts_filterDate(
  startdate = 20190703,
  enddate = 20190706,
  timezone = "UTC"

# UTC day boundaries
#> [1] "2019-07-03 00:00:00 UTC" "2019-07-05 23:00:00 UTC"

# Trim to local time day boundaries
local_week <- mts_trimDate(UTC_week)
#> [1] "2019-07-03 07:00:00 UTC" "2019-07-05 06:00:00 UTC"