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
unless ceilingEnd = TRUE
in
which case the end time will will have lubridate::ceiling_date()
applied.
The required timezone
parameter must be one of those found in
OlsonNames
.
Formatting output is are affected by both style
:
"ymdhms"
"ymdThms"
"julian"
"clock"
and unit
which determines the temporal precision of the generated
representation:
"year"
"month"
"day"
"hour"
"min"
"sec"
"msec"
If style == "julian"
&& unit = "month"
, the timestamp will contain the
Julian day associated with the beginning of the month.
timeStamp(datetime = NULL, timezone = NULL, unit = "sec", style = "ymdhms")
datetime | Vector of character or integer datetimes in Ymd[HMS] format (or POSIXct). |
---|---|
timezone | Olson timezone used to interpret incoming dates (required). |
unit | Units used to determine precision of generated time stamps. |
style | Style of representation, Default = "ymdhms". |
A vector of time stamps.
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) datetime <- parseDatetime("2019-01-08 12:30:15", timezone = "UTC") timeStamp(datetime, "UTC", unit = "year")#> [1] "2019"timeStamp(datetime, "UTC", unit = "month")#> [1] "201901"timeStamp(datetime, "UTC", unit = "month", style = "julian")#> [1] "2019001"timeStamp(datetime, "UTC", unit = "day")#> [1] "20190108"timeStamp(datetime, "UTC", unit = "day", style = "julian")#> [1] "2019008"timeStamp(datetime, "UTC", unit = "hour")#> [1] "2019010812"timeStamp(datetime, "UTC", unit = "min")#> [1] "201901081230"timeStamp(datetime, "UTC", unit = "sec")#> [1] "20190108123015"timeStamp(datetime, "UTC", unit = "sec", style = "ymdThms")#> [1] "20190108T123015"timeStamp(datetime, "UTC", unit = "sec", style = "julian")#> [1] "2019008123015"timeStamp(datetime, "UTC", unit = "sec", style = "clock")#> [1] "2019-01-08T12:30:15"timeStamp(datetime, "America/Los_Angeles", unit = "sec", style = "clock")#> [1] "2019-01-08T04:30:15"timeStamp(datetime, "America/Los_Angeles", unit = "msec", style = "clock")#> [1] "2019-01-08T04:30:15.000"