APIdia Launch Partner
Top Description Fields Constructors Methods
com.sun.org.apache.xalan.internal.lib

public Class ExsltDatetime

extends Object
Class Inheritance
Imports
com.sun.org.apache.xpath.internal.objects.XBoolean, .XNumber, .XObject, java.text.ParseException, .SimpleDateFormat, java.util.Calendar, .Date, .GregorianCalendar, .Locale, .TimeZone, javax.xml.datatype.DatatypeConfigurationException, .DatatypeConstants, .DatatypeFactory, .XMLGregorianCalendar

This class contains EXSLT dates and times extension functions. It is accessed by specifying a namespace URI as follows:
   xmlns:datetime="http://exslt.org/dates-and-times"
The documentation for each function has been copied from the relevant EXSLT Implementer page.
See Also
EXSLT

Field Summary

Modifier and TypeField and Description
pack-priv static final String
d

pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
t

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static String
date(String datetimeIn)

The date:date function returns the date specified in the date/time string given as the argument.

public static String
date()

See above.

public static String
dateTime()

The date:date-time function returns the current date and time as a date/time string.

public static String
dayAbbreviation(String datetimeIn)

The date:day-abbreviation function returns the abbreviation of the day of the week of a date.

public static String
dayAbbreviation()

See above.

public static double
dayInMonth(String datetimeIn)

The date:day-in-month function returns the day of a date as a number.

public static double
dayInMonth()

See above.

public static double
dayInWeek(String datetimeIn)

The date:day-in-week function returns the day of the week given in a date as a number.

public static double
dayInWeek()

See above.

public static double
dayInYear(String datetimeIn)

The date:day-in-year function returns the day of a date in a year as a number.

public static double
dayInYear()

See above.

public static String
dayName(String datetimeIn)

The date:day-name function returns the full name of the day of the week of a date.

public static String
dayName()

See above.

public static double
dayOfWeekInMonth(String datetimeIn)

The date:day-of-week-in-month function returns the day-of-the-week in a month of a date as a number (e.g. 3 for the 3rd Tuesday in May).

public static double
dayOfWeekInMonth()

See above.

public static String
formatDate(String dateTime, String pattern)

The date:format-date function formats a date/time according to a pattern.

private static String

Returns:

two-digit String representation of hrs or minutes.
formatDigits
(int
hrs or minutes.
q
)

Represent the hours and minutes with two-digit strings.

private static String[]
getEraDatetimeZone(String in)

Returns an array with the 3 components that a datetime input string may contain: - (for BC era), datetime, and zone.

private static String
getNameOrAbbrev(String in, String[] formatsIn, String formatOut)

Get the full name or abbreviation of the month or day.

private static String
getNameOrAbbrev(String format)

Get the full name or abbreviation for the current month or day (no input string).

private static double
getNumber(String in, String[] formats, int calField)

Parse the input string and return the corresponding calendar field number.

private static int
getZoneStart(String datetime)

Get the start of zone information if the input ends with 'Z' or +/-hh:mm.

public static double
hourInDay(String datetimeIn)

The date:hour-in-day function returns the hour of the day as a number.

public static double
hourInDay()

See above.

public static XObject
leapYear(String datetimeIn)

The date:leap-year function returns true if the year given in a date is a leap year.

public static boolean
leapYear()

See above.

public static double
minuteInHour(String datetimeIn)

The date:minute-in-hour function returns the minute of the hour as a number.

public static double
minuteInHour()

See above.

public static String
monthAbbreviation(String datetimeIn)

The date:month-abbreviation function returns the abbreviation of the month of a date.

public static String
monthAbbreviation()

See above.

public static double
monthInYear(String datetimeIn)

The date:month-in-year function returns the month of a date as a number.

public static double
monthInYear()

See above.

public static String
monthName(String datetimeIn)

The date:month-name function returns the full name of the month of a date.

public static String
monthName()

See above.

public static double
secondInMinute(String datetimeIn)

The date:second-in-minute function returns the second of the minute as a number.

public static double
secondInMinute()

See above.

private static String
strip(String
list of symbols to strip.
symbols
,
String pattern)

Strips occurrences of the given character from a date format pattern.

private static Date
testFormats(String in, String[] formats)

Attempt to parse an input string with the allowed formats, returning null if none of the formats work.

public static String
time(String timeIn)

The date:time function returns the time specified in the date/time string given as the argument.

public static String
time()

See above.

public static double
weekInYear(String datetimeIn)

The date:week-in-year function returns the week of the year as a number.

public static double
weekInYear()

See above.

public static double
year(String datetimeIn)

The date:year function returns the year of a date as a number.

public static double
year()

See above.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

dback to summary
pack-priv static final String d
dtback to summary
pack-priv static final String dt
EMPTY_STRback to summary
pack-priv static final String EMPTY_STR
gdback to summary
pack-priv static final String gd
gmback to summary
pack-priv static final String gm
gmdback to summary
pack-priv static final String gmd
gyback to summary
pack-priv static final String gy
gymback to summary
pack-priv static final String gym
tback to summary
pack-priv static final String t

Constructor Detail

ExsltDatetimeback to summary
public ExsltDatetime()

Method Detail

dateback to summary
public static String date(String datetimeIn) throws ParseException

The date:date function returns the date specified in the date/time string given as the argument. If no argument is given, then the current local date/time, as returned by date:date-time is used as a default argument. The date/time string that's returned must be a string in the format defined as the lexical representation of xs:dateTime in [3.2.7 dateTime] of [XML Schema Part 2: Datatypes]. If the argument is not in either of these formats, date:date returns an empty string (''). The date/time format is basically CCYY-MM-DDThh:mm:ss, although implementers should consult [XML Schema Part 2: Datatypes] and [ISO 8601] for details. The date is returned as a string with a lexical representation as defined for xs:date in [3.2.9 date] of [XML Schema Part 2: Datatypes]. The date format is basically CCYY-MM-DD, although implementers should consult [XML Schema Part 2: Datatypes] and [ISO 8601] for details. If no argument is given or the argument date/time specifies a time zone, then the date string format must include a time zone, either a Z to indicate Coordinated Universal Time or a + or - followed by the difference between the difference from UTC represented as hh:mm. If an argument is specified and it does not specify a time zone, then the date string format must not include a time zone.

dateback to summary
public static String date()

See above.

dateTimeback to summary
public static String dateTime()

The date:date-time function returns the current date and time as a date/time string. The date/time string that's returned must be a string in the format defined as the lexical representation of xs:dateTime in [3.2.7 dateTime] of [XML Schema Part 2: Datatypes]. The date/time format is basically CCYY-MM-DDThh:mm:ss, although implementers should consult [XML Schema Part 2: Datatypes] and [ISO 8601] for details. The date/time string format must include a time zone, either a Z to indicate Coordinated Universal Time or a + or - followed by the difference between the difference from UTC represented as hh:mm.

dayAbbreviationback to summary
public static String dayAbbreviation(String datetimeIn) throws ParseException

The date:day-abbreviation function returns the abbreviation of the day of the week of a date. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a left or right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) If the date/time string is not in one of these formats, then the empty string ('') is returned. The result is a three-letter English day abbreviation: one of 'Sun', 'Mon', 'Tue', 'Wed', 'Thu' or 'Fri'. An implementation of this extension function in the EXSLT date namespace must conform to the behaviour described in this document.

dayAbbreviationback to summary
public static String dayAbbreviation()

See above.

dayInMonthback to summary
public static double dayInMonth(String datetimeIn) throws ParseException

The date:day-in-month function returns the day of a date as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a left or right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) xs:gMonthDay (--MM-DD) xs:gDay (---DD) If the date/time string is not in one of these formats, then NaN is returned.

dayInMonthback to summary
public static double dayInMonth()

See above.

dayInWeekback to summary
public static double dayInWeek(String datetimeIn) throws ParseException

The date:day-in-week function returns the day of the week given in a date as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) If the date/time string is not in one of these formats, then NaN is returned. The numbering of days of the week starts at 1 for Sunday, 2 for Monday and so on up to 7 for Saturday.

dayInWeekback to summary
public static double dayInWeek()

See above.

dayInYearback to summary
public static double dayInYear(String datetimeIn) throws ParseException

The date:day-in-year function returns the day of a date in a year as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) If the date/time string is not in one of these formats, then NaN is returned.

dayInYearback to summary
public static double dayInYear()

See above.

dayNameback to summary
public static String dayName(String datetimeIn) throws ParseException

The date:day-name function returns the full name of the day of the week of a date. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a left or right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) If the date/time string is not in one of these formats, then the empty string ('') is returned. The result is an English day name: one of 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday' or 'Friday'. An implementation of this extension function in the EXSLT date namespace must conform to the behaviour described in this document.

dayNameback to summary
public static String dayName()

See above.

dayOfWeekInMonthback to summary
public static double dayOfWeekInMonth(String datetimeIn) throws ParseException

The date:day-of-week-in-month function returns the day-of-the-week in a month of a date as a number (e.g. 3 for the 3rd Tuesday in May). If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) If the date/time string is not in one of these formats, then NaN is returned.

dayOfWeekInMonthback to summary
public static double dayOfWeekInMonth()

See above.

formatDateback to summary
public static String formatDate(String dateTime, String pattern)

The date:format-date function formats a date/time according to a pattern.

The first argument to date:format-date specifies the date/time to be formatted. It must be right or left-truncated date/time strings in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows:

  • xs:dateTime (CCYY-MM-DDThh:mm:ss)
  • xs:date (CCYY-MM-DD)
  • xs:time (hh:mm:ss)
  • xs:gYearMonth (CCYY-MM)
  • xs:gYear (CCYY)
  • xs:gMonthDay (--MM-DD)
  • xs:gMonth (--MM--)
  • xs:gDay (---DD)
The second argument is a string that gives the format pattern used to format the date. The format pattern must be in the syntax specified by the JDK 1.1 SimpleDateFormat class. The format pattern string is interpreted as described for the JDK 1.1 SimpleDateFormat class.

If the date/time format is right-truncated (i.e. in a format other than xs:time, or xs:dateTime) then any missing components are assumed to be as follows: if no month is specified, it is given a month of 01; if no day is specified, it is given a day of 01; if no time is specified, it is given a time of 00:00:00.

If the date/time format is left-truncated (i.e. xs:time, xs:gMonthDay, xs:gMonth or xs:gDay) and the format pattern has a token that uses a component that is missing from the date/time format used, then that token is replaced with an empty string ('') within the result. The author is Helg Bredow ([email protected])

formatDigitsback to summary
private static String formatDigits(int q)

Represent the hours and minutes with two-digit strings.

Parameters
q:int

hrs or minutes.

Returns:String

two-digit String representation of hrs or minutes.

getEraDatetimeZoneback to summary
private static String[] getEraDatetimeZone(String in)

Returns an array with the 3 components that a datetime input string may contain: - (for BC era), datetime, and zone. If the zone is not valid, return null for that component.

getNameOrAbbrevback to summary
private static String getNameOrAbbrev(String in, String[] formatsIn, String formatOut) throws ParseException

Get the full name or abbreviation of the month or day.

getNameOrAbbrevback to summary
private static String getNameOrAbbrev(String format)

Get the full name or abbreviation for the current month or day (no input string).

getNumberback to summary
private static double getNumber(String in, String[] formats, int calField) throws ParseException

Parse the input string and return the corresponding calendar field number.

getZoneStartback to summary
private static int getZoneStart(String datetime)

Get the start of zone information if the input ends with 'Z' or +/-hh:mm. If a zone string is not found, return -1; if the zone string is invalid, return -2.

hourInDayback to summary
public static double hourInDay(String datetimeIn) throws ParseException

The date:hour-in-day function returns the hour of the day as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:time (hh:mm:ss) If the date/time string is not in one of these formats, then NaN is returned.

hourInDayback to summary
public static double hourInDay()

See above.

leapYearback to summary
public static XObject leapYear(String datetimeIn) throws ParseException

The date:leap-year function returns true if the year given in a date is a leap year. If no argument is given, then the current local date/time, as returned by date:date-time is used as a default argument. The date/time string specified as the first argument must be a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) xs:gYearMonth (CCYY-MM) xs:gYear (CCYY) If the date/time string is not in one of these formats, then NaN is returned.

leapYearback to summary
public static boolean leapYear()

See above.

minuteInHourback to summary
public static double minuteInHour(String datetimeIn) throws ParseException

The date:minute-in-hour function returns the minute of the hour as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:time (hh:mm:ss) If the date/time string is not in one of these formats, then NaN is returned.

minuteInHourback to summary
public static double minuteInHour()

See above.

monthAbbreviationback to summary
public static String monthAbbreviation(String datetimeIn) throws ParseException

The date:month-abbreviation function returns the abbreviation of the month of a date. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a left or right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) xs:gYearMonth (CCYY-MM) xs:gMonth (--MM--) If the date/time string is not in one of these formats, then an empty string ('') is returned. The result is a three-letter English month abbreviation: one of 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov' or 'Dec'. An implementation of this extension function in the EXSLT date namespace must conform to the behaviour described in this document.

monthAbbreviationback to summary
public static String monthAbbreviation()

See above.

monthInYearback to summary
public static double monthInYear(String datetimeIn) throws ParseException

The date:month-in-year function returns the month of a date as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used as a default argument. The date/time string specified as the first argument is a left or right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) xs:gYearMonth (CCYY-MM) xs:gMonth (--MM--) xs:gMonthDay (--MM-DD) If the date/time string is not in one of these formats, then NaN is returned.

monthInYearback to summary
public static double monthInYear()

See above.

monthNameback to summary
public static String monthName(String datetimeIn) throws ParseException

The date:month-name function returns the full name of the month of a date. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a left or right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) xs:gYearMonth (CCYY-MM) xs:gMonth (--MM--) If the date/time string is not in one of these formats, then an empty string ('') is returned. The result is an English month name: one of 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November' or 'December'.

monthNameback to summary
public static String monthName()

See above.

secondInMinuteback to summary
public static double secondInMinute(String datetimeIn) throws ParseException

The date:second-in-minute function returns the second of the minute as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used the default argument. The date/time string specified as the argument is a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:time (hh:mm:ss) If the date/time string is not in one of these formats, then NaN is returned.

secondInMinuteback to summary
public static double secondInMinute()

See above.

stripback to summary
private static String strip(String symbols, String pattern)

Strips occurrences of the given character from a date format pattern.

Parameters
symbols:String

list of symbols to strip.

testFormatsback to summary
private static Date testFormats(String in, String[] formats) throws ParseException

Attempt to parse an input string with the allowed formats, returning null if none of the formats work.

timeback to summary
public static String time(String timeIn) throws ParseException

The date:time function returns the time specified in the date/time string given as the argument. If no argument is given, then the current local date/time, as returned by date:date-time is used as a default argument. The date/time string that's returned must be a string in the format defined as the lexical representation of xs:dateTime in [3.2.7 dateTime] of [XML Schema Part 2: Datatypes]. If the argument string is not in this format, date:time returns an empty string (''). The date/time format is basically CCYY-MM-DDThh:mm:ss, although implementers should consult [XML Schema Part 2: Datatypes] and [ISO 8601] for details. The date is returned as a string with a lexical representation as defined for xs:time in [3.2.8 time] of [XML Schema Part 2: Datatypes]. The time format is basically hh:mm:ss, although implementers should consult [XML Schema Part 2: Datatypes] and [ISO 8601] for details. If no argument is given or the argument date/time specifies a time zone, then the time string format must include a time zone, either a Z to indicate Coordinated Universal Time or a + or - followed by the difference between the difference from UTC represented as hh:mm. If an argument is specified and it does not specify a time zone, then the time string format must not include a time zone.

timeback to summary
public static String time()

See above.

weekInYearback to summary
public static double weekInYear(String datetimeIn) throws ParseException

The date:week-in-year function returns the week of the year as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used as the default argument. For the purposes of numbering, counting follows ISO 8601: week 1 in a year is the week containing the first Thursday of the year, with new weeks beginning on a Monday. The date/time string specified as the argument is a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) If the date/time string is not in one of these formats, then NaN is returned.

weekInYearback to summary
public static double weekInYear()

See above.

yearback to summary
public static double year(String datetimeIn) throws ParseException

The date:year function returns the year of a date as a number. If no argument is given, then the current local date/time, as returned by date:date-time is used as a default argument. The date/time string specified as the first argument must be a right-truncated string in the format defined as the lexical representation of xs:dateTime in one of the formats defined in [XML Schema Part 2: Datatypes]. The permitted formats are as follows: xs:dateTime (CCYY-MM-DDThh:mm:ss) xs:date (CCYY-MM-DD) xs:gYearMonth (CCYY-MM) xs:gYear (CCYY) If the date/time string is not in one of these formats, then NaN is returned.

yearback to summary
public static double year()

See above.