net.sf.saxon.value
public final class DateTimeValue extends CalendarValue
Constructor Summary | |
---|---|
DateTimeValue(Calendar calendar, boolean tzSpecified)
Constructor: create a dateTime value given a Java calendar object | |
DateTimeValue(DateValue date, TimeValue time)
Constructor: create a dateTime value given a date and a time. | |
DateTimeValue(CharSequence s)
Constructor: create a dateTime value from a supplied string, in
ISO 8601 format | |
DateTimeValue(int year, byte month, byte day, byte hour, byte minute, byte second, int microsecond, int tz)
Constructor: construct a DateTimeValue from its components.
|
Method Summary | |
---|---|
CalendarValue | add(DurationValue duration)
Add a duration to a dateTime |
CalendarValue | adjustTimezone(int timezone)
Return a new dateTime with the same normalized value, but
in a different timezone. |
int | compareTo(Object other)
Compare the value to another dateTime value.
|
int | compareTo(CalendarValue other, XPathContext cc)
Compare the value to another dateTime value, following the XPath comparison semantics |
AtomicValue | convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)
Convert to target data type |
Object | convertToJava(Class target, XPathContext context)
Convert to Java object (for passing to external functions) |
CalendarValue | copy()
Make a copy of this date, time, or dateTime value |
boolean | equals(Object other) |
static DateTimeValue | fromJulianInstant(BigDecimal instant)
Get the DateTimeValue corresponding to a given Julian instant |
GregorianCalendar | getCalendar()
Get a Calendar object representing the value of this DateTime. |
AtomicValue | getComponent(int component)
Get a component of the value. |
static DateTimeValue | getCurrentDateTime(XPathContext context)
Get the dateTime value representing the nominal
date/time of this transformation run. |
byte | getDay()
Get the day component, 1-31 |
byte | getHour()
Get the hour component, 0-23 |
ItemType | getItemType(TypeHierarchy th)
Determine the data type of the exprssion |
int | getMicrosecond()
Get the microsecond component, 0-999999 |
byte | getMinute()
Get the minute component, 0-59 |
byte | getMonth()
Get the month component, 1-12 |
byte | getSecond()
Get the second component, 0-59 |
CharSequence | getStringValueCS()
Convert to string |
int | getYear()
Get the year component, in its internal form (which allows a year zero) |
int | hashCode() |
DateTimeValue | normalize(XPathContext cc)
Normalize the date and time to be in timezone Z. |
SecondsDurationValue | subtract(CalendarValue other, XPathContext context)
Determine the difference between two points in time, as a duration |
DateTimeValue | toDateTime()
Convert the value to a DateTime, retaining all the components that are actually present, and
substituting conventional values for components that are missing |
BigDecimal | toJulianInstant()
Get the Julian instant: a decimal value whose integer part is the Julian day number
multiplied by the number of seconds per day,
and whose fractional part is the fraction of the second.
|
Parameters: calendar holds the date and time tzSpecified indicates whether the timezone is specified
Parameters: date the date time the time
Throws: net.sf.saxon.trans.XPathException if the timezones are both present and inconsistent
Parameters: year The year as held internally (note that the year before 1AD is 0) month The month, 1-12 day The day 1-31 hour the hour value, 0-23 minute the minutes value, 0-59 second the seconds value, 0-59 microsecond the number of microseconds, 0-999999 tz the timezone displacement in minutes from UTC. Supply the value CalendarValue.NO_TIMEZONE if there is no timezone component.
Parameters: duration the duration to be added (may be negative)
Returns: the new date
Throws: net.sf.saxon.trans.XPathException if the duration is an xs:duration, as distinct from a subclass thereof
Parameters: timezone the new timezone offset, in minutes
Returns: the date/time in the new timezone. This will be a new DateTimeValue unless no change was required to the original value
This method is not used for XPath comparisons because it does not have access to the implicitTimezone from the dynamic context. It is available for schema comparisons, although it does not currently implement the XML Schema semantics for timezone comparison (which involve partial ordering)
Parameters: other The other dateTime value
Returns: negative value if this one is the earler, 0 if they are chronologically equal, positive value if this one is the later. For this purpose, dateTime values with an unknown timezone are considered to be values in the implicit timezone (the Comparable interface requires a total ordering).
Throws: ClassCastException if the other value is not a DateTimeValue (the parameter is declared as Object to satisfy the Comparable interface)
Parameters: other The other dateTime value cc A ConversionContext used to supply the implicit timezone
Returns: negative value if this one is the earler, 0 if they are chronologically equal, positive value if this one is the later. For this purpose, dateTime values with an unknown timezone are considered to be values in the implicit timezone (the Comparable interface requires a total ordering).
Throws: ClassCastException if the other value is not a DateTimeValue (the parameter is declared as Object to satisfy the Comparable interface)
Parameters: requiredType an integer identifying the required atomic type context
Returns: an AtomicValue, a value of the required type; or an ErrorValue
Parameters: th
Returns: Type.DATE_TIME,
Returns: ISO 8601 representation. The value returned is the localized representation, that is it uses the timezone contained within the value itself.
Parameters: cc used to supply the implicit timezone, used when the value has no explicit timezone
Returns: in general, a new DateTimeValue in timezone Z, representing the same instant in time. Returns the original DateTimeValue if this is already in timezone Z.
Parameters: other the other point in time context
Returns: the duration as an xdt:dayTimeDuration
Throws: net.sf.saxon.trans.XPathException for example if one value is a date and the other is a time