Package org.exolab.castor.types
Class Date
java.lang.Object
org.exolab.castor.types.DateTimeBase
org.exolab.castor.types.Date
- All Implemented Interfaces:
Serializable
,Cloneable
Describe an XML Schema Date.
The format is defined by W3C XML Schema Recommendation and ISO8601 i.e (-)CCYY-MM-DD(Z|(+|-)hh:mm)
- Version:
- $Revision$
- Author:
- Arnaud Blandin, Edward Kuns
- See Also:
-
Field Summary
Fields inherited from class org.exolab.castor.types.DateTimeBase
EQUALS, GREATER_THAN, INDETERMINATE, LESS_THAN, MAX_TIME_ZONE_COMPARISON_OFFSET, WRONGLY_PLACED
-
Constructor Summary
ConstructorsConstructorDescriptionDate()
No-arg constructor.Date
(long dateAsLong) This constructor is used to convert a long value representing a Date to a new org.exolab.castor.types.Date instance.Date
(short[] values) Constructs a XML Schema Date instance given all the values of the different fields.Constructs a date from a string.This constructor is used to convert a java.util.Date into a new org.exolab.castor.types.Date. -
Method Summary
Modifier and TypeMethodDescriptionshort
getHour()
short
getMilli()
short
short
short[]
Returns an array of short with all the fields that describe this Date type.boolean
hasHour()
boolean
hasMilli()
boolean
boolean
static Object
parse a String and convert it into an java.lang.Objectstatic Date
parse a String and convert it into a Date.void
setHour
(short hour) Sets the hour field for this date/time type.void
setMilliSecond
(short millisecond) Sets the millisecond field for this date/time type.void
setMinute
(short minute) set the minute field for this date/time type.void
setSecond
(short second) Sets the seconds field for this date/time type, not including the fractional seconds.void
setValues
(short[] values) Sets all the fields by reading the values in an array.toDate()
Converts this Date into a local java.util.Date.long
toLong()
Converts this date into a long value.toString()
convert this Date to a string The format is defined by W3C XML Schema recommendation and ISO8601 i.e (+|-)CCYY-MM-DDMethods inherited from class org.exolab.castor.types.DateTimeBase
addDuration, appendDateString, appendTimeString, appendTimeZoneString, clone, compareTo, equal, equals, getCentury, getDay, getMonth, getYear, getZoneHour, getZoneMinute, hasCentury, hasDay, hashCode, hasIsNegative, hasMonth, hasYear, isLeap, isNegative, isUTC, isZoneNegative, normalize, parseDay, parseMonth, parseTime, parseTimeZone, parseYear, setCentury, setDateFormatTimeZone, setDateFormatTimeZone, setDay, setMonth, setNegative, setSecond, setUTC, setYear, setZone, setZoneHour, setZoneMinute, setZoneNegative, toCalendar
-
Constructor Details
-
Date
public Date()No-arg constructor. -
Date
public Date(short[] values) Constructs a XML Schema Date instance given all the values of the different fields. By default a Date is not UTC and is local.- Parameters:
values
- an array of shorts that represent the different fields of Time.
-
Date
public Date(long dateAsLong) This constructor is used to convert a long value representing a Date to a new org.exolab.castor.types.Date instance.Note : all the information concerning the time part of the java.util.Date is lost since a W3C Schema Date only represents CCYY-MM-YY
- Parameters:
dateAsLong
- Date represented in from of a long value.
-
Date
This constructor is used to convert a java.util.Date into a new org.exolab.castor.types.Date.Note : all the information concerning the time part of the java.util.Date is lost since a W3C Schema Date only represents CCYY-MM-YY.
- Parameters:
dateRef
- the java.util.Date to use to construct a new org.exolab.castor.types.Date
-
Date
Constructs a date from a string.- Parameters:
date
- the string representing the date- Throws:
ParseException
- a parse exception is thrown if the string to parse does not follow the right format (see the description of this class)
-
-
Method Details
-
setValues
public void setValues(short[] values) Sets all the fields by reading the values in an array.If a Time Zone is specified, it has to be set by using
setZone
.- Specified by:
setValues
in classDateTimeBase
- Parameters:
values
- an array of shorts with the values the array is supposed to be of length 4 and ordered like the following:- century
- year
- month
- day
-
getValues
public short[] getValues()Returns an array of short with all the fields that describe this Date type.Note:the time zone is not included.
- Specified by:
getValues
in classDateTimeBase
- Returns:
- an array of short with all the fields that describe this Date type.
-
toDate
Converts this Date into a local java.util.Date.- Specified by:
toDate
in classDateTimeBase
- Returns:
- a local date representing this Date.
-
toLong
public long toLong()Converts this date into a long value.- Returns:
- This date instance as a long value.
-
toString
-
parse
parse a String and convert it into an java.lang.Object- Parameters:
str
- the string to parse- Returns:
- an Object represented by the string
- Throws:
ParseException
- a parse exception is thrown if the string to parse does not follow the right format (see the description of this class)
-
parseDate
parse a String and convert it into a Date.- Parameters:
str
- the string to parse- Returns:
- the Date represented by the string
- Throws:
ParseException
- a parse exception is thrown if the string to parse does not follow the right format (see the description of this class)
-
hasHour
public boolean hasHour()- Overrides:
hasHour
in classDateTimeBase
-
getHour
public short getHour()- Overrides:
getHour
in classDateTimeBase
-
setHour
public void setHour(short hour) Description copied from class:DateTimeBase
Sets the hour field for this date/time type.- Overrides:
setHour
in classDateTimeBase
- Parameters:
hour
- the hour to set
-
hasMinute
public boolean hasMinute()- Overrides:
hasMinute
in classDateTimeBase
-
getMinute
public short getMinute()- Overrides:
getMinute
in classDateTimeBase
-
setMinute
public void setMinute(short minute) Description copied from class:DateTimeBase
set the minute field for this date/time type.- Overrides:
setMinute
in classDateTimeBase
- Parameters:
minute
- the minute to set.
-
hasSeconds
public boolean hasSeconds()- Overrides:
hasSeconds
in classDateTimeBase
-
getSeconds
public short getSeconds()- Overrides:
getSeconds
in classDateTimeBase
-
setSecond
public void setSecond(short second) Description copied from class:DateTimeBase
Sets the seconds field for this date/time type, not including the fractional seconds. Any fractional seconds previously set is unmodified.- Overrides:
setSecond
in classDateTimeBase
- Parameters:
second
- the second to set
-
hasMilli
public boolean hasMilli()- Overrides:
hasMilli
in classDateTimeBase
-
getMilli
public short getMilli()- Overrides:
getMilli
in classDateTimeBase
-
setMilliSecond
public void setMilliSecond(short millisecond) Description copied from class:DateTimeBase
Sets the millisecond field for this date/time type.- Overrides:
setMilliSecond
in classDateTimeBase
- Parameters:
millisecond
- the millisecond to set
-