Serializable
, oracle.jdbc.internal.OracleDate
public class DATE extends Datum implements oracle.jdbc.internal.OracleDate
The DATE
class provides conversions between the Oracle Date (ldx_t) data type and Java classes java.sql.Date
, java.sql.Time
, java.sql.Timestamp
The internal data for this object is stored as a seven byte array in the super class' storage area. The bytes are arranged as follows:
Byte Represents 0 Century (19 for 1990) 1 Decade (90 for 1990) 2 Month 3 Day 4 Hour 5 Minute 6 Seconds
Static methods are used for conversions.
Modifier and Type | Field | Description |
---|---|---|
static int |
BDA |
Bad day: above range
|
static int |
BDAL |
Bad day: below range
|
static int |
BDT |
Bad date format
|
static int |
BHR |
Bad hour: above range
|
static int |
BHRL |
Bad hour: below range
|
static int |
BMN |
Bad minute: above range
|
static int |
BMNL |
Bad minute: below range
|
static int |
BMO |
Bad month: above range
|
static int |
BMOL |
Bad month: below range
|
static int |
BSC |
Bad second: above range
|
static int |
BSCL |
Bad second: below range
|
static int |
BYR |
Bad year: above range
|
static int |
BYRL |
Bad year: below range
|
static int |
HRZER0 |
Zero valued hour
|
static int |
MIZERO |
Zero valued minute
|
static int |
MSD |
Day is one of those "missing" from the year 1582
|
static int |
SEZERO |
Zero valued second
|
static int |
YR0 |
Year zero does not exist
|
ojiOracleDatumWithConnection, targetDatum
Constructor | Description |
---|---|
DATE() |
Constructs a DATE object initialized to 1/1/1970.
|
DATE(byte[] date) |
Create a DATE object represented by the given Oracle Date.
|
DATE(Object obj) |
Constructs a DATE object initialized to the value specified by the object
|
DATE(Object obj, Calendar cal) |
Constructs a DATE object initialized to the value specified by the object and a Calendar
|
DATE(String str) |
Create a DATE object given a Java String object.
|
DATE(String str, boolean lenient) |
Create a DATE object given a Java String object.
|
DATE(String str, Calendar cal) |
Create a DATE object given a Java String object and a Calendar
|
DATE(Date date) |
Create a DATE object given a Java Date object.
|
DATE(Date date, Calendar cal) |
Create a DATE object given a Java Date object and a Calendar
|
DATE(Time time) |
Create a DATE object given a Java Time object.
|
DATE(Time time, Calendar cal) |
Create a DATE object given a Java Time object and a Calendar
|
DATE(Timestamp timestamp) |
Create a DATE object given a Java Timestamp object
|
DATE(Timestamp timestamp, Calendar cal) |
Create a DATE object given a Java Timestamp object and a Calendar
|
Modifier and Type | Method | Description |
---|---|---|
DATE |
addJulianDays(int julianDay, int julianSec) |
Add Julian days to a date.
|
DATE |
addMonths(int months) |
Add months to a date.
|
static int |
checkValidity(byte[] date) |
Checks the DATE passed in.
|
int |
compareTo(DATE date) |
Returns -1 if DATE is less than date, 0 if DATE and date are equal (==), 1 if DATE is greater than date.
|
Date |
dateValue() |
Calls toDate to convert internal Oracle DATE to a Java Date.
|
Date |
dateValue(Calendar cal) |
Calls toDate to convert internal Oracle DATE and Calendar to a Java Date.
|
void |
diffInJulianDays(DATE date, int[] julianDay, int[] julianSec) |
Calculates the difference between two dates in Julian days.
|
NUMBER |
diffInMonths(DATE date) |
Calculates the difference between two dates in months.
|
static DATE |
fromJulianDays(int julianDay, int julianSec) |
Convert given julian days and seconds to an Oracle Date.
|
static DATE |
fromText(String datestr, String fmt, String lang) |
Convert a string to a DATE object.
|
static DATE |
getCurrentDate() |
Gets current date and time
|
boolean |
isConvertibleTo(Class cls) |
Determines if the object can be converted to a particular class
|
DATE |
lastDayOfMonth() |
returns a DATE object intialized to the last day of the month .
|
Object |
makeJdbcArray(int arraySize) |
Returns a JDBC array representation of the datum
|
static void |
numberToJulianDays(NUMBER num, int[] julianDay, int[] julianSec) |
Converts an Oracle NUMBER to Julian days and seconds
|
static byte[] |
parseFormat(String fmt, String lang) |
Converts the fmt string into tokens for use by toText().
|
DATE |
round(String prec) |
returns a DATE object with date rounded to specified precision
|
DATE |
setDayOfWeek(int day) |
returns a DATE object initialized to date advanced to the week of the day specified.
|
String |
stringValue() |
Calls toString to convert internal Oracle DATE to a Java String.
|
Timestamp |
timestampValue() |
Calls toTimestamp to convert internal Oracle DATE to a Java Timestamp.
|
Timestamp |
timestampValue(Calendar cal) |
Calls toTimestamp to convert internal Oracle DATE and Calendar to a Java Timestamp.
|
Time |
timeValue() |
Calls toTime to convert internal Oracle DATE to a Java Time.
|
Time |
timeValue(Calendar cal) |
Calls toTime to convert internal Oracle DATE and Calendar to a Java Time.
|
byte[] |
toBytes() |
|
static byte[] |
toBytes(String str) |
Convert Java String to Oracle DATE.
|
static byte[] |
toBytes(String str, Calendar cal) |
Convert Java String to Oracle DATE.
|
static byte[] |
toBytes(Date date) |
Convert Java Date to Oracle DATE.
|
static byte[] |
toBytes(Date date, Calendar cal) |
Convert Java Date and Calendar to Oracle DATE.
|
static byte[] |
toBytes(Time time) |
Convert Java Time to Oracle DATE.
|
static byte[] |
toBytes(Time time, Calendar cal) |
Convert Java Time and Calendar to Oracle DATE.
|
static byte[] |
toBytes(Timestamp timestamp) |
Convert Java Timestamp to Oracle DATE.
|
static byte[] |
toBytes(Timestamp timestamp, Calendar cal) |
Convert Java Timestamp and Calendar to Oracle DATE.
|
static Date |
toDate(byte[] date) |
Convert Oracle DATE to Java Date.
|
static Date |
toDate(byte[] date, Calendar cal) |
Convert Oracle DATE and Calendar to Java Date.
|
Object |
toJdbc() |
Returns the JDBC representation of the datum object
|
void |
toJulianDays(int[] julianDay, int[] julianSec) |
Convert to Julian days and seconds from the given date.
|
NUMBER |
toNumber() |
Converts date to an Oracle Number.
|
String |
toString() |
|
static String |
toString(byte[] bytes) |
Converts a DATE to a string
|
String |
toText(byte[] pfmt, String lang) |
Convert date to text as specified by fmt.
|
String |
toText(String fmt, String lang) |
Convert date to text as specified by fmt.
|
static Time |
toTime(byte[] date) |
Convert Oracle DATE to Java Time.
|
static Time |
toTime(byte[] date, Calendar cal) |
Convert Oracle DATE and Calendar to Java Time.
|
static Timestamp |
toTimestamp(byte[] date) |
Convert Oracle DATE to Java Timestamp.
|
static Timestamp |
toTimestamp(byte[] date, Calendar cal) |
Convert Oracle DATE and Calendar to Java Timestamp.
|
DATE |
truncate(String prec) |
returns a DATE object with date truncated to specified precision
|
DATE |
zeroTime() |
Zero out the time from a DATE object.
|
asciiStreamValue, bigDecimalValue, binaryStreamValue, booleanValue, bytesEqual, bytesHashCode, byteValue, characterStreamValue, compareBytes, doubleValue, equals, floatValue, getBytes, getConnectionDuringExceptionHandling, getLength, getStream, intValue, isNull, longValue, setBytes, setShareBytes, shareBytes, stringValue, toClass
public static final int BDA
public static final int BDAL
public static final int BMO
public static final int BMOL
public static final int BYR
public static final int BYRL
public static final int BHR
public static final int BHRL
public static final int BMN
public static final int BMNL
public static final int BSC
public static final int BSCL
public static final int MSD
public static final int YR0
public static final int BDT
public static final int HRZER0
public static final int MIZERO
public static final int SEZERO
public DATE()
public DATE(byte[] date)
date
- Oracle DATEpublic DATE(Date date)
date
- Java Date objectpublic DATE(Time time)
time
- Java Time objectpublic DATE(Timestamp timestamp)
timestamp
- Java Timestamp objectpublic DATE(Date date, Calendar cal)
date
- Java Date objectcal
- Java Calendar object which encapsulates the timezone information of datepublic DATE(Time time, Calendar cal)
time
- Java Time objectcal
- Java Calendar object which encapsulates the timezone information of timepublic DATE(Timestamp timestamp, Calendar cal)
timestamp
- Java Timestamp objectcal
- Java Calendar object which encapsulates the timezone information of timestamppublic DATE(String str)
str
- Java String objectpublic DATE(String str, boolean lenient) throws ParseException
str
- Java String objectlenient
- Java Boolean variableParseException
public DATE(String str, Calendar cal)
str
- Java String objectcal
- Java Calendar object which encapsulates the timezone information for interpreting strpublic DATE(Object obj) throws SQLException
obj
- Object valueobj
- Object valueobj
- Object valueSQLException
- if initialization is not allowedpublic DATE(Object obj, Calendar cal) throws SQLException
obj
- Object valuecal
- Calendar to useobj
- Object valueobj
- Object valuecal
- Calendar which encapsulates the timezone information of objSQLException
- if initialization is not allowedpublic static Date toDate(byte[] date)
date
- Oracle DATE to be convertedpublic static Time toTime(byte[] date)
date
- Oracle DATE to be convertedpublic static Timestamp toTimestamp(byte[] date)
date
- Oracle DATE to be convertedpublic static Date toDate(byte[] date, Calendar cal)
date
- Oracle DATE to be convertedcal
- Calendar which encapsulates the timezone information to be used to create Date objectpublic static Time toTime(byte[] date, Calendar cal)
date
- Oracle DATE to be convertedcal
- Calendar which encapsulates the timezone information to be used to create the Time objectpublic static Timestamp toTimestamp(byte[] date, Calendar cal)
date
- Oracle DATE to be convertedcal
- Calendar which encapsulates the timezone information to be used to create the Timestamp objectpublic static String toString(byte[] bytes)
date
- a byte arraypublic byte[] toBytes()
toBytes
in interface oracle.jdbc.internal.OracleDate
public static byte[] toBytes(Date date)
date
- java.sql.Date object to be converted.public static byte[] toBytes(Time time)
time
- java.sql.Time object to be converted.public static byte[] toBytes(Timestamp timestamp)
timestamp
- java.sql.Timestamp object to be converted.public static byte[] toBytes(Date date, Calendar cal)
date
- java.sql.Date object to be converted.cal
- java.util.Calendar object which encapsulates the timezone information of datepublic static byte[] toBytes(Time time, Calendar cal)
time
- java.sql.Time object to be converted.cal
- java.util.Calendar object which encapsulates the timezone information of timepublic static byte[] toBytes(Timestamp timestamp, Calendar cal)
timestamp
- java.sql.Timestamp object to be converted.cal
- java.util.Calendar object which encapsulates the timezone information of datepublic static byte[] toBytes(String str)
str
- java.lang.String object to be converted.public static byte[] toBytes(String str, Calendar cal)
str
- java.lang.String object to be converted.cal
- java.util.Calendar object which encapsulates the timezone information for interpreting strpublic Date dateValue()
public Time timeValue()
public Timestamp timestampValue()
timestampValue
in class Datum
public Date dateValue(Calendar cal)
cal
- Calendar to usepublic Time timeValue(Calendar cal)
public Timestamp timestampValue(Calendar cal)
timestampValue
in class Datum
cal
- Calendar to usepublic String stringValue()
stringValue
in class Datum
public Object toJdbc()
public Object makeJdbcArray(int arraySize)
makeJdbcArray
in class Datum
arraySize
- size of the arraypublic boolean isConvertibleTo(Class cls)
isConvertibleTo
in class Datum
cls
- Class to convert topublic DATE addJulianDays(int julianDay, int julianSec) throws SQLException
julianDay
- Number of Julian days to add to DATEjulianSec
- Number of seconds past midnightSQLException
- if Java implementation is not availablepublic DATE addMonths(int months) throws SQLException
months
- integral months to add to dateSQLException
- if Java implementation is not availablepublic DATE zeroTime() throws SQLException
SQLException
public void diffInJulianDays(DATE date, int[] julianDay, int[] julianSec) throws SQLException
date
- Date to be subtracted.julianDay
- Number of Julian daysjulianSec
- Number of seconds past midnightSQLException
- if Java implementation is not availablepublic NUMBER diffInMonths(DATE date) throws SQLException
date
- Date to be subtracted.SQLException
- if Java implementation is not availablepublic static DATE getCurrentDate() throws SQLException
SQLException
- if Java implementation is not availablepublic static int checkValidity(byte[] date) throws SQLException
date
- Date to be checkedBDA | Bad day: above range |
BDAL | Bad day: below range |
BMO | Bad month: above range |
BMOL | Bad month: below range |
BYR | Bad year: above range |
BYRL | Bad year: below range |
BHR | Bad hour: above range |
BHRL | Bad hour: below range |
BMN | Bad minute: above range |
BMNL | Bad minute: below range |
BSC | Bad second: above range |
BSCL | Bad second: below range |
MSD | Day is one of those "missing" from the year 1582 |
YR0 | Year zero does not exist |
BDT | Bad date format |
HRZERO | Zero valued hour |
MIZERO | Zero valued minute |
SEZERO | Zero valued second |
SQLException
- if Java implementation is not availablepublic static DATE fromJulianDays(int julianDay, int julianSec) throws SQLException
julianDay
- Number of Julian daysjulianSec
- Number of seconds past midnightSQLException
- if Java implementation is not availablepublic static DATE fromText(String datestr, String fmt, String lang) throws SQLException
datestr
- Input Date stringfmt
- Date Formatlang
- Input date languageString | Meaning |
---|---|
a.d. | B.C./A.D. indicator |
a.m. | A.M./P.M. indicator |
ad | BC/AD indicator |
am | AM/PM indicator |
b.c. | B.C./A.D. indicator |
bc | BC/AD indicator |
d | day of the week |
day | name of the day, spelled out |
dd | day of the month |
ddd | day of year |
dy | name of weekday abbreviated |
hh | hour representation in 12 hour format |
hh24 | hour representation in 24 hour format |
mi | minutes |
mm | two digit month representation |
mon | month abbreviation |
month | name of the month, spelled out |
p.m. | A.M./P.M. indicator |
pm | AM/PM indicator |
ss | two digit second representation |
Y | last digit of the year |
YY | last two digits of a year |
YYY | last three digits of a year |
YYYY | year |
"<literal>" | all text in quotes is copied into the output string It is not possible to place a quote character into the output string. On input, literal text is a placeholder for another string of the same length |
/,%&@#.. | punctuation (non-alphanumeric characters) is treated exactly like a literal without the need for quotes. |
The Date format string not supported versus the C library are:
String | Meaning |
---|---|
E | abbreviated era name |
EE | full era name |
FX | all date literals must be an exact match |
j | Julian day |
RM | Roman numeral month (I-XII) |
RR | Round year with two digits (on input, rounds the century up one if the year is <50 and the reference date is >= 50, and down one century if the year is >= 50 and the reference date is <50) |
RRRR | Round year (on input, accepts either four digit input or, for two digit input, rounds the century up one if the year is <50 and the reference date is >= 50, and down one century if the year is >= 50 and the reference date is <50) |
sssss | number of seconds past midnight |
sy,yyy | signed year (BC dates have "-" in front) |
syYYY | signed year (BC dates have "-" in front) |
Y,YYY | year with comma |
YEAR | year number spelled out |
Also parsing is strict i.e. spaces and literals should match the format string exactly. (except for a.d./b.c. the string should be ad/bc)
SQLException
public DATE lastDayOfMonth() throws SQLException
SQLException
- if Java implementation is not availablepublic static void numberToJulianDays(NUMBER num, int[] julianDay, int[] julianSec) throws SQLException
num
- Oracle Number to convertjulianDay
- Number of Julian daysjulianSec
- Number of seconds past midnightSQLException
- if Java implementation is not availablepublic DATE round(String prec) throws SQLException
prec
- precision to use while roundingSQLException
- if Java implementation is not availablepublic DATE setDayOfWeek(int day) throws SQLException
day
- day of the week the date needs to be advancedSQLException
- if Java implementation is not availablepublic void toJulianDays(int[] julianDay, int[] julianSec) throws SQLException
julianDay
- Number of Julian daysjulianSec
- Number of seconds past midnightSQLException
- if Java implementation is not availablepublic NUMBER toNumber() throws SQLException
SQLException
- if Java implementation is not availablepublic String toText(String fmt, String lang) throws SQLException
fmt
- date formatlang
- the NLS language the conversion is to be performed in, null indicates use default.SQLException
- if Java implementation is not available or an invalid format string is provided.public String toText(byte[] pfmt, String lang) throws SQLException
pfmt
- date format parsed by parseFormatlang
- the NLS language the conversion is to be performed in, null indicates use default.SQLException
- if Java implementation is not available or an invalid format string is provided.public static byte[] parseFormat(String fmt, String lang) throws SQLException
fmt
- date formatlang
- A String containing NLS Language and/or Territory null indicates to use default.SQLException
- if the format string can not be parsed.public DATE truncate(String prec) throws SQLException
prec
- precision to use while truncatingSQLException
- if Java implementation is not availablepublic int compareTo(DATE date)
date
- input Oracle Date