tzone | R Documentation |
Generic functions to get or replace the timezone of an xts object's index.
tzone(x, ...)
tzone(x) <- value
## S3 method for class 'xts'
tzone(x, ...)
## S3 replacement method for class 'xts'
tzone(x) <- value
##### The functions below are DEPRECATED #####
indexTZ(x, ...)
indexTZ(x) <- value
x |
an |
value |
a valid timezone value (see |
... |
arguments passed to other methods |
Internally, an xts object's index is a numeric value corresponding to
seconds since the epoch in the UTC timezone. When an xts object is created, all
time index values are converted internally to POSIXct
(which is
also in seconds since the UNIX epoch), using the underlying OS conventions and
the TZ environment variable. The xts()
function manages timezone
information as transparently as possible.
The tzone<-
function does not change the internal index values
(i.e. the index will remain the same time in the UTC timezone).
A one element named vector containing the timezone of the object's index.
Both indexTZ
and indexTZ<-
are deprecated in favor of
tzone
and tzone<-
, respectively.
Problems may arise when an object that had been created under one timezone are
used in a session using another timezone. This isn't usually a issue, but when
it is a warning is given upon printing or subsetting. This warning may be
suppressed by setting options(xts_check_TZ = FALSE)
.
Both indexTZ
and indexTZ<-
are deprecated in favor of
tzone
and tzone<-
, respectively.
Timezones are a difficult issue to manage. It's best to set the system TZ
environment variable to "GMT" or "UTC" (via Sys.setenv(TZ = "UTC")
at
the beginning of your scripts if you do not need intra-daily resolution.
Jeffrey A. Ryan
POSIXt
index
has more information on the xts index,
tformat
describes how the index values are formatted when printed,
and tclass
provides details how xts handles the class of
the index.
# Date indexes always have a "UTC" timezone
x <- xts(1, Sys.Date())
tzone(x)
str(x)
print(x)
# The default 'tzone' is blank -- your machine's local timezone,
# determined by the 'TZ' environment variable.
x <- xts(1, Sys.time())
tzone(x)
str(x)
# now set 'tzone' to different values
tzone(x) <- "UTC"
str(x)
tzone(x) <- "America/Chicago"
str(x)
y <- timeBasedSeq('2010-01-01/2010-01-03 12:00/H')
y <- xts(seq_along(y), y, tzone = "America/New_York")
# Changing the tzone does not change the internal index values, but it
# does change how the index is printed!
head(y)
head(.index(y))
tzone(y) <- "Europe/London"
head(y) # the index prints with hours, but
head(.index(y)) # the internal index is not changed!
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.