MINI MINI MANI MO
%
% Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
%
\name{ore.datetime-class}
\docType{class}
\alias{ore.date}
\alias{ore.date-class}
\alias{ore.datetime}
\alias{ore.datetime-class}
\alias{ore.difftime}
\alias{ore.difftime-class}
\alias{Arith,Date,ore.date-method}
\alias{Arith,Date,ore.datetime-method}
\alias{Arith,Date,ore.difftime-method}
\alias{Arith,POSIXct,ore.date-method}
\alias{Arith,POSIXct,ore.datetime-method}
\alias{Arith,POSIXct,ore.difftime-method}
\alias{Arith,POSIXlt,ore.date-method}
\alias{Arith,POSIXlt,ore.datetime-method}
\alias{Arith,POSIXlt,ore.difftime-method}
\alias{Arith,difftime,ore.date-method}
\alias{Arith,difftime,ore.datetime-method}
\alias{Arith,difftime,ore.difftime-method}
\alias{Arith,number,ore.date-method}
\alias{Arith,number,ore.datetime-method}
\alias{Arith,number,ore.difftime-method}
\alias{Arith,ore.date,Date-method}
\alias{Arith,ore.date,POSIXct-method}
\alias{Arith,ore.date,POSIXlt-method}
\alias{Arith,ore.date,difftime-method}
\alias{Arith,ore.date,number-method}
\alias{Arith,ore.date,ore.date-method}
\alias{Arith,ore.date,ore.datetime-method}
\alias{Arith,ore.date,ore.difftime-method}
\alias{Arith,ore.date,ore.number-method}
\alias{Arith,ore.datetime,Date-method}
\alias{Arith,ore.datetime,POSIXct-method}
\alias{Arith,ore.datetime,POSIXlt-method}
\alias{Arith,ore.datetime,difftime-method}
\alias{Arith,ore.datetime,number-method}
\alias{Arith,ore.datetime,ore.date-method}
\alias{Arith,ore.datetime,ore.datetime-method}
\alias{Arith,ore.datetime,ore.difftime-method}
\alias{Arith,ore.datetime,ore.number-method}
\alias{Arith,ore.difftime,Date-method}
\alias{Arith,ore.difftime,POSIXct-method}
\alias{Arith,ore.difftime,POSIXlt-method}
\alias{Arith,ore.difftime,difftime-method}
\alias{Arith,ore.difftime,number-method}
\alias{Arith,ore.difftime,ore.date-method}
\alias{Arith,ore.difftime,ore.datetime-method}
\alias{Arith,ore.difftime,ore.difftime-method}
\alias{Arith,ore.difftime,ore.number-method}
\alias{Arith,ore.number,ore.date-method}
\alias{Arith,ore.number,ore.datetime-method}
\alias{Arith,ore.number,ore.difftime-method}
\alias{as.character,ore.date-method}
\alias{as.character,ore.datetime-method}
\alias{as.character,ore.difftime-method}
\alias{as.factor,ore.date-method}
\alias{as.factor,ore.datetime-method}
\alias{as.ore.character,ore.date-method}
\alias{as.ore.character,ore.datetime-method}
\alias{as.ore.character,ore.difftime-method}
\alias{coerce,Date,ore.date-method}
\alias{coerce,Date,ore.datetime-method}
\alias{coerce,POSIXt,ore.date-method}
\alias{coerce,POSIXt,ore.datetime-method}
\alias{coerce,difftime,ore.difftime-method}
\alias{coerce,NULL,ore.date-method}
\alias{coerce,NULL,ore.datetime-method}
\alias{coerce,NULL,ore.difftime-method}
\alias{coerce,ore.date,ore.datetime-method}
\alias{coerce,ore.datetime,ore.date-method}
\alias{diff,ore.date-method}
\alias{diff,ore.datetime-method}
\alias{diff,ore.difftime-method}
\alias{summary,ore.date-method}
\alias{summary,ore.datetime-method}
\alias{summary,ore.difftime-method}
\alias{trunc,ore.date-method}
\alias{trunc,ore.datetime-method}
\title{Class \code{ore.datetime}}
\description{
The \code{ore.date} and \code{ore.datetime}, and \code{ore.difftime}
classes represent \code{DATE}, \code{TIMESTAMP}, and
\code{INTERVAL DAY TO SECOND} data columns in Oracle R Enterprise.
}
\section{Date/Time Arithmetic}{
The following arithmetic operations are supported for date/time data
types:
\tabular{cll}{
Arith Op \tab Signature \tab Value \cr
\code{"+"} \tab \code{ore.date}, \code{ore.difftime} \tab \code{ore.date}\cr
\code{"+"} \tab \code{ore.difftime},\code{ore.date} \tab \code{ore.date}\cr
\code{"+"} \tab \code{ore.date}, \code{ore.number} \tab \code{ore.date}\cr
\code{"+"} \tab \code{ore.number}, \code{ore.date} \tab \code{ore.date}\cr
\code{"+"} \tab \code{ore.datetime},\code{ore.difftime} \tab \code{ore.datetime}\cr
\code{"+"} \tab \code{ore.difftime},\code{ore.datetime} \tab \code{ore.datetime}\cr
\code{"+"} \tab \code{ore.datetime},\code{ore.number} \tab \code{ore.date}\cr
\code{"+"} \tab \code{ore.number}, \code{ore.datetime} \tab \code{ore.date}\cr
\code{"+"} \tab \code{ore.difftime},\code{ore.difftime} \tab \code{ore.difftime}\cr
\code{"-"} \tab \code{ore.date}, \code{ore.date} \tab \code{ore.difftime}\cr
\code{"-"} \tab \code{ore.date},\code{ore.datetime} \tab \code{ore.difftime}\cr
\code{"-"} \tab \code{ore.datetime},\code{ore.date} \tab \code{ore.difftime}\cr
\code{"-"} \tab \code{ore.date}, \code{ore.difftime} \tab \code{ore.date}\cr
\code{"-"} \tab \code{ore.date}, \code{ore.number} \tab \code{ore.date}\cr
\code{"-"} \tab \code{ore.datetime},\code{ore.datetime} \tab \code{ore.difftime}\cr
\code{"-"} \tab \code{ore.datetime},\code{ore.difftime} \tab \code{ore.datetime}\cr
\code{"-"} \tab \code{ore.datetime}, \code{ore.number} \tab \code{ore.date}\cr
\code{"-"} \tab \code{ore.difftime},\code{ore.difftime} \tab \code{ore.difftime}\cr
\code{"*"} \tab \code{ore.difftime},\code{ore.number} \tab \code{ore.difftime}\cr
\code{"*"} \tab \code{ore.number},\code{ore.difftime} \tab \code{ore.difftime}\cr
\code{"/"} \tab \code{ore.difftime},\code{ore.number} \tab \code{ore.difftime}\cr
}
In addition to binary arithmetic operators, date/time data support:
\describe{
\item{}{
\code{\link[base]{diff}(x, lag = 1, differences = 1)}:
Returns an \code{ore.difftime} object containing a suitably lagged
and iterated differences of argument \code{x}.
\describe{
\item{\code{lag}}{An integer indicating which lag to use.}
\item{\code{differences}}{An integer indicating the order of the
difference.}
}
}
\item{}{
\code{\link[base:trunc.POSIXt]{trunc}(x, units = "DD", ...)}:
Returns a \code{ore.datetime} object containing a truncated
version of argument \code{x}.
\describe{
\item{\code{x}}{An \code{ore.datetime} object.}
\item{\code{units}}{A character string specifying the level of
truncation, one of
\tabular{ll}{
\code{units} \tab Description \cr
\code{CC}, \code{SCC} \tab Century.\cr
\code{D} \tab Day of week (1-7).\cr
\code{DAY} \tab Name of day.\cr
\code{DD} \tab Day of month (1-31).\cr
\code{DDD} \tab Day of year (1-366).\cr
\code{DY} \tab Abbreviated name of day.\cr
\code{HH}, \code{HH12} \tab Hour of day (1-12).\cr
\code{HH24} \tab Hour of day (0-23).\cr
\code{IW} \tab Week of year (1-52 or 1-53) based on the ISO standard.\cr
\code{IYY}, \code{IY}, \code{I} \tab Last 3, 2, or 1 digit(s) of ISO year.\cr
\code{IYYY} \tab 4-digit year based on the ISO standard.\cr
\code{J} \tab Julian day; the number of days since January 1, 4712 BC.\cr
\code{MI} \tab Minute (0-59).\cr
\code{MM} \tab Month (01-12; January = 01).\cr
\code{MON} \tab Abbreviated name of month.\cr
\code{MONTH} \tab Name of month.\cr
\code{Q} \tab Quarter of year (1, 2, 3, 4; January - March = 1).\cr
\code{RM} \tab Roman numeral month (I-XII; January = I).\cr
\code{WW} \tab Week of year (1-53) where week 1 starts on the first day of the
year and continues to the seventh day of the year.\cr
\code{W} \tab Week of month (1-5) where week 1 starts on the first day of the
month and ends on the seventh.\cr
\code{Y}, \code{YYY} \tab Year with comma in this position.\cr
\code{YEAR}, \code{SYEAR} \tab Year, spelled out; \code{S} prefixes BC dates
with a minus sign (-).\cr
\code{YYYY}, \code{SYYYY} \tab 4-digit year; \code{S} prefixes BC dates with a
minus sign.\cr
\code{YYY}, \code{YY}, \code{Y} \tab Last 3, 2, or 1 digit(s) of year.\cr
}
}
}
}
}
}
\section{Character Coersion}{
\code{as.character(x, format = "YYYY-MM-DD", ...)} and
\code{as.ore.character(x, format = "YYYY-MM-DD", ...)} for
\code{ore.date};
\code{as.character(x, format = "YYYY-MM-DD HH24:MI:SS", ...)} and
\code{as.ore.character(x, format = "YYYY-MM-DD HH24:MI:SS", ...)} for
\code{ore.datetime}:
Returns an \code{\linkS4class{ore.character}} object containing
information from argument \code{x} in a form specified by the
\code{format} argument.
\tabular{ll}{
\code{format} \tab Description \cr
\code{-}, \code{/}, \code{,}, \code{.}, \code{;}, \code{:}, \code{"text"} \tab
Punctuation and quoted text is reproduced in the result.\cr
\code{AD}, \code{A.D.} \tab AD indicator with or without periods.\cr
\code{AM}, \code{A.M.} \tab Meridian indicator with or without periods.\cr
\code{BC}, \code{B.C.} \tab BC indicator with or without periods.\cr
\code{CC}, \code{SCC} \tab Century.\cr
\code{D} \tab Day of week (1-7).\cr
\code{DAY} \tab Name of day.\cr
\code{DD} \tab Day of month (1-31).\cr
\code{DDD} \tab Day of year (1-366).\cr
\code{DL} \tab Returns a value in the long date format.\cr
\code{DS} \tab Returns a value in the short date format.\cr
\code{DY} \tab Abbreviated name of day.\cr
\code{E} \tab Abbreviated era name.\cr
\code{EE} \tab Full era name.\cr
\code{FF [1..9]} \tab Fractional seconds.\cr
\code{FM} \tab Returns a value with no leading or trailing blanks.\cr
\code{FX} \tab Requires exact matching between the character data and the
format model.\cr
\code{HH}, \code{HH12} \tab Hour of day (1-12).\cr
\code{HH24} \tab Hour of day (0-23).\cr
\code{IW} \tab Week of year (1-52 or 1-53) based on the ISO standard.\cr
\code{IYY}, \code{IY}, \code{I} \tab Last 3, 2, or 1 digit(s) of ISO year.\cr
\code{IYYY} \tab 4-digit year based on the ISO standard.\cr
\code{J} \tab Julian day; the number of days since January 1, 4712 BC.\cr
\code{MI} \tab Minute (0-59).\cr
\code{MM} \tab Month (01-12; January = 01).\cr
\code{MON} \tab Abbreviated name of month.\cr
\code{MONTH} \tab Name of month.\cr
\code{PM}, \code{P.M.} \tab Meridian indicator with or without periods.\cr
\code{Q} \tab Quarter of year (1, 2, 3, 4; January - March = 1).\cr
\code{RM} \tab Roman numeral month (I-XII; January = I).\cr
\code{RR} \tab Lets you store 20th century dates in the 21st century using only
two digits.\cr
\code{RRRR} \tab Round year.\cr
\code{SS} \tab Second (0-59).\cr
\code{SSSSS} \tab Seconds past midnight (0-86399).\cr
\code{TS} \tab Returns a value in the short time format.\cr
\code{TZD} \tab Daylight saving information.\cr
\code{TZH} \tab Time zone hour.\cr
\code{TZM} \tab Time zone minute.\cr
\code{TZR} \tab Time zone region information.\cr
\code{WW} \tab Week of year (1-53) where week 1 starts on the first day of the
year and continues to the seventh day of the year.\cr
\code{W} \tab Week of month (1-5) where week 1 starts on the first day of the
month and ends on the seventh.\cr
\code{X} \tab Local radix character.\cr
\code{Y}, \code{YYY} \tab Year with comma in this position.\cr
\code{YEAR}, \code{SYEAR} \tab Year, spelled out; \code{S} prefixes BC dates
with a minus sign (-).\cr
\code{YYYY}, \code{SYYYY} \tab 4-digit year; \code{S} prefixes BC dates with a
minus sign.\cr
\code{YYY}, \code{YY}, \code{Y} \tab Last 3, 2, or 1 digit(s) of year.\cr
}
}
\details{
\code{ore.datetime} objects, unlike \code{\link[base]{POSIXt}}
objects, do not support a time zone setting. Instead all
\code{ore.datetime} use the system time zone, \code{Sys.timezone()},
if is available or GMT if this information is not available.
}
\references{
\href{http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/documentation/index.html}{Oracle R Enterprise}
}
\author{
Oracle \email{oracle-r-enterprise@oracle.com}
}
\seealso{
\code{\link{ore.year}},
\code{\linkS4class{ore}},
\code{\linkS4class{ore.character}},
\code{\linkS4class{ore.factor}},
\code{\linkS4class{ore.frame}},
\code{\linkS4class{ore.logical}},
\code{\linkS4class{ore.matrix}},
\code{\linkS4class{ore.number}},
\code{\linkS4class{ore.vector}}.
}
\examples{
DATE <- ore.push(seq(as.Date("1999/1/1"), as.Date("2002/1/1"), by="3 months"))
DATE
as.character(DATE, format = "YYYY/MM/DD")
}
\keyword{classes}
\keyword{ORE}
OHA YOOOO