net.sf.saxon.option.exslt
Class Date
public final
class
Date
extends Object
This class implements extension functions in the
http://exslt.org/dates-and-times namespace.
Method Summary |
static String | add(XPathContext context, String datetimeIn, String durationIn)
The date:add function returns the date/time resulting from adding a duration to a date/time.
|
String | addDuration(XPathContext context, String duration0, String duration1)
The date:add-duration function returns the duration resulting from adding two durations together.
|
static String | date(String datetimeIn)
The date:date function returns the date specified in the date/time string given
as the argument. |
static String | date(XPathContext context)
The date:date function returns the current date. |
static String | dateTime(XPathContext context)
The date:date-time function returns the current date and time as a date/time string.
|
static String | dayAbbreviation(String dateTime)
Return the day of the week given in a date as an English day abbreviation:
one of 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', or 'Sat'. |
static String | dayAbbreviation(XPathContext context)
Return the day of the week given in the current date as an English day abbreviation:
one of 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', or 'Sat'. |
static double | dayInMonth(String dateTime)
Return the day number of a specified date within the month |
static double | dayInMonth(XPathContext context)
Return the day number of the current date within the month |
static double | dayInWeek(String dateTime)
Return the day of the week given in a date as a number.
|
static double | dayInWeek(XPathContext context)
Return the day of the week in the current date as a number.
|
static double | dayInYear(String dateTime)
Return the day number of a specified date within the year |
static double | dayInYear(XPathContext context)
Return the day number of the current date within the year |
static String | dayName(String dateTime)
Return the day of the week given in a date as an English day name:
one of 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday' or 'Friday'. |
static String | dayName(XPathContext context)
Return the day of the week given in the current date as an English day name:
one of 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday' or 'Friday'. |
static double | dayOfWeekInMonth(String dateTime)
Return the day-of-the-week in a month of a date as a number
(for example 3 for the 3rd Tuesday in May). |
static double | dayOfWeekInMonth(XPathContext context)
Return the day-of-the-week in a month of the current date as a number
(for example 3 for the 3rd Tuesday in May). |
static String | difference(XPathContext context, String dateLeftIn, String dateRightIn)
The date:difference function returns the duration between the first date and the second date.
|
static String | duration(double seconds)
The date:duration function returns a duration string representing the number of seconds
specified by the argument string. |
static double | hourInDay(String dateTime)
Return the hour of the day in the specified date or date/time |
static double | hourInDay(XPathContext context)
Return the current hour of the day |
static boolean | leapYear(String dateTime)
Return true if the year specified in the date/time string
given as the argument is a leap year. |
static boolean | leapYear(XPathContext context)
Returns true if the current year is a leap year |
static double | minuteInHour(String dateTime)
Return the minute of the hour in the specified date or date/time |
static double | minuteInHour(XPathContext context)
Return the current minute of the hour |
static String | monthAbbreviation(String date)
Return the month abbreviation from a date. |
static String | monthAbbreviation(XPathContext context)
Return the month abbreviation from the current date. |
static double | monthInYear(String dateTime)
Return the month number from a date.
|
static double | monthInYear(XPathContext context)
Return the month number from the current date. |
static String | monthName(String date)
Return the month name from a date.
|
static String | monthName(XPathContext context)
Return the month name from the current date. |
static double | secondInMinute(String dateTime)
Return the second of the minute in the specified date or date/time |
static double | secondInMinute(XPathContext context)
Return the current second of the minute |
static double | seconds(XPathContext context)
Return the number of seconds since 1 Jan 1970 |
static double | seconds(XPathContext context, String datetimeIn)
The date:seconds function returns the number of seconds specified by the argument string.
|
static String | sum(XPathContext context, SequenceIterator nodes)
The date:sum function adds a set of durations together.
|
static String | time(String dateTime)
The date:time function returns the time specified in the date/time string given as the
argument. |
static String | time(XPathContext context)
The date:time function returns the current time. |
static double | weekInMonth(String dateTime)
Return the week number of a specified date within the month
(Note, this function is underspecified in EXSLT) |
static double | weekInMonth(XPathContext context)
Return the ISO week number of the current date within the month |
static double | weekInYear(String dateTime)
Return the ISO week number of a specified date within the year
(Note, this returns the ISO week number: the result in EXSLT is underspecified) |
static double | weekInYear(XPathContext context)
Return the ISO week number of the current date |
static double | year(String datetimeIn)
The date:year function returns the year of a date as a number. |
static double | year(XPathContext context)
The date:year function returns the current year. |
public static String add(
XPathContext context, String datetimeIn, String durationIn)
The date:add function returns the date/time resulting from adding a duration to a date/time.
The first argument must be right-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:gYearMonth (CCYY-MM)
xs:gYear (CCYY)
The second argument is a string in the format defined for xs:duration in [3.2.6 duration] of
[XML Schema Part 2: Datatypes].
The return value is a right-truncated date/time strings in one of the formats defined in
[XML Schema Part 2: Datatypes] and listed above.
This value is calculated using the algorithm described in
[Appendix E Adding durations to dateTimes] of [XML Schema Part 2: Datatypes].
Throws: XPathException
public String addDuration(
XPathContext context, String duration0, String duration1)
The date:add-duration function returns the duration resulting from adding two durations together.
Both arguments are strings in the format defined for xs:duration in [3.2.6 duration] of
[XML Schema Part 2: Datatypes]. If either argument is not in this format, the function returns
an empty string (''). The return value is a string in the format defined for xs:duration in
[3.2.6 duration] of [XML Schema Part 2: Datatypes]. The durations can usually be added by
summing the numbers given for each of the components in the durations. However, if the durations
are differently signed, then this sometimes results in durations that are impossible to express
in this syntax (e.g. 'P1M' + '-P1D'). In these cases, the function returns an empty string ('').
public static String date(String datetimeIn)
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.
The date:date function returns the current date.
Parameters: context the XPath dynamic context
Returns: the current date as a string
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+hh:mm.
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.
Parameters: context the XPath dynamic context
Returns: the current date and time as a date/time string
public static String dayAbbreviation(String dateTime)
Return the day of the week given in a date as an English day abbreviation:
one of 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', or 'Sat'.
Parameters: dateTime must start with CCYY-MM-DD
Returns: the English day abbreviation
Return the day of the week given in the current date as an English day abbreviation:
one of 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', or 'Sat'.
Parameters: context the XPath dynamic context
Returns: the English day abbreviation
public static double dayInMonth(String dateTime)
Return the day number of a specified date within the month
Parameters: dateTime must start with CCYY-MM-DD, or --MM-DD, or ---DD
Returns: the day number within the month, as a double
Return the day number of the current date within the month
Parameters: context the XPath dynamic context
Returns: the current day number, as a double
public static double dayInWeek(String dateTime)
Return the day of the week given in a date as a number.
The numbering of days of the week starts at 1 for Sunday, 2 for Monday
and so on up to 7 for Saturday.
Parameters: dateTime must start with CCYY-MM-DD
Returns: the day of the week as a number
Return the day of the week in the current date as a number.
The numbering of days of the week starts at 1 for Sunday, 2 for Monday
and so on up to 7 for Saturday.
Parameters: context the XPath dynamic context
Returns: the day of the week as a number
public static double dayInYear(String dateTime)
Return the day number of a specified date within the year
Parameters: dateTime the date starting with CCYY-MM-DD
Returns: the day number within the year, as a double
Return the day number of the current date within the year
Parameters: context the XPath dynamic context
Returns: the day number within the year, as a double
public static String dayName(String dateTime)
Return the day of the week given in a date as an English day name:
one of 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday' or 'Friday'.
Parameters: dateTime must start with CCYY-MM-DD
Returns: the English name of the day of the week
Return the day of the week given in the current date as an English day name:
one of 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday' or 'Friday'.
Parameters: context the XPath dynamic context
Returns: the English name of the day of the week
public static double dayOfWeekInMonth(String dateTime)
Return the day-of-the-week in a month of a date as a number
(for example 3 for the 3rd Tuesday in May).
Parameters: dateTime must start with CCYY-MM-DD
Returns: the the day-of-the-week in a month of a date as a number
(for example 3 for the 3rd Tuesday in May).
Return the day-of-the-week in a month of the current date as a number
(for example 3 for the 3rd Tuesday in May).
Parameters: context the XPath dynamic context
Returns: the the day-of-the-week in a month of the current date as a number
(for example 3 for the 3rd Tuesday in May).
public static String difference(
XPathContext context, String dateLeftIn, String dateRightIn)
The date:difference function returns the duration between the first date and the second date.
If the first date occurs before the second date, then the result is a positive duration;
if it occurs after the second date, the result is a negative duration.
The two dates must both be right-truncated date/time strings in one of the formats defined in
[XML Schema Part 2: Datatypes].
The date/time with the most specific format (i.e. the least truncation) is converted into the
same format as the date with the most specific format (i.e. the most truncation).
The permitted formats are as follows, from most specific to least specific:
xs:dateTime (CCYY-MM-DDThh:mm:ss)
xs:date (CCYY-MM-DD)
xs:gYearMonth (CCYY-MM)
xs:gYear (CCYY)
If either of the arguments is not in one of these formats, date:difference
returns the empty string ('').
The difference between the date/times is returned as a string in the format defined for
xs:duration in [3.2.6 duration] of [XML Schema Part 2: Datatypes].
If the date/time string with the least specific format is in either xs:gYearMonth or xs:gYear format,
then the number of days, hours, minutes and seconds in the duration string must be equal to zero.
(The format of the string will be PnYnM.)
The number of months specified in the duration must be less than 12.
Otherwise, the number of years and months in the duration string must be equal to zero.
(The format of the string will be PnDTnHnMnS.)
The number of seconds specified in the duration string must be less than 60;
the number of minutes must be less than 60; the number of hours must be less than 24.
Throws: XPathException
public static String duration(double seconds)
The date:duration function returns a duration string representing the number of seconds
specified by the argument string. If no argument is given, then the result of calling
date:seconds without any arguments is used as a default argument. The duration is returned
as a string in the format defined for xs:duration in [3.2.6 duration] of
[XML Schema Part 2: Datatypes]. The number of years and months in the duration string
must be equal to zero. (The format of the string will be PnDTnHnMnS.)
The number of seconds specified in the duration string must be less than 60;
the number of minutes must be less than 60; the number of hours must be less than 24.
If the argument is Infinity, -Infinity or NaN, then date:duration returns an empty string ('').
public static double hourInDay(String dateTime)
Return the hour of the day in the specified date or date/time
Parameters: dateTime must start with CCYY-MM-DDThh:mm:ss or hh:mm:ss
Returns: the hour
Return the current hour of the day
Parameters: context the XPath dynamic context
Returns: the hour
public static boolean leapYear(String dateTime)
Return true if the year specified in the date/time string
given as the argument is a leap year.
Parameters: dateTime a dateTime as a string
Returns: true if the year is a leap year
Throws: XPathException
Returns true if the current year is a leap year
Parameters: context the XPath dynamic context
Returns: true if the current year is a leap year
public static double minuteInHour(String dateTime)
Return the minute of the hour in the specified date or date/time
Parameters: dateTime must start with CCYY-MM-DDThh:mm:ss or hh:mm:ss
Returns: the minute
Return the current minute of the hour
Parameters: context the XPath dynamic context
Returns: the minute
public static String monthAbbreviation(String date)
Return the month abbreviation from a date.
Parameters: date The date must start with either "CCYY-MM" or "--MM"
Returns: the English month abbreviation, for example "Jan", "Feb"
public static String monthAbbreviation(
XPathContext context)
Return the month abbreviation from the current date.
Parameters: context the XPath dynamic context
Returns: the English month abbreviation, for example "Jan", "Feb"
public static double monthInYear(String dateTime)
Return the month number from a date.
The date must start with either "CCYY-MM" or "--MM"
Parameters: dateTime a dateTime as a string
Returns: the month extracted from the dateTime
Return the month number from the current date.
Parameters: context the XPath dynamic context
Returns: the current month number
public static String monthName(String date)
Return the month name from a date.
The date must start with either "CCYY-MM" or "--MM"
Parameters: date the date/time as a string
Returns: the English month name, for example "January", "February"
Return the month name from the current date.
Parameters: context the XPath dynamic context
Returns: the English month name, for example "January", "February"
public static double secondInMinute(String dateTime)
Return the second of the minute in the specified date or date/time
Parameters: dateTime must start with CCYY-MM-DDThh:mm:ss or hh:mm:ss
Returns: the second
Return the current second of the minute
Parameters: context the XPath dynamic context
Returns: the second
Return the number of seconds since 1 Jan 1970
Returns: the number of seconds since 1 Jan 1970 (the "epoch" according to Java and Unix)
public static double seconds(
XPathContext context, String datetimeIn)
The date:seconds function returns the number of seconds specified by the argument string.
If no argument is given, then the current local date/time, as returned by date:date-time
is used as a default argument.
The argument string may be in one of the following formats:
1. A right-truncated date/time string in one of the formats defined in
[XML Schema Part 2: Datatypes].
In these cases, the difference between the date/time string and 1970-01-01T00:00:00Z
is calculated as with date:difference and the result is converted to seconds with
date:seconds.
The legal formats are as follows:
xs:dateTime (CCYY-MM-DDThh:mm:ss)
xs:date (CCYY-MM-DD)
xs:gYearMonth (CCYY-MM)
xs:gYear (CCYY)
2. A duration specified in days, hours, minutes and seconds in the format defined for
xs:duration in
[3.2.6 duration]
of
[XML Schema Part 2: Datatypes].
The number of years and months in the duration string must both be equal to zero:
either P0Y0M120D or P120D are permitted, but P3M is not.
If the argument to date:seconds is defined as a duration, the number returned is the
result of converting the duration to seconds by assuming that
1 day = 24 hours, 1 hour = 60 minutes and 1 minute = 60 seconds.
The permitted duration format is basically PnDTnHnMnS, although implementers should
consult
[XML Schema Part 2: Datatypes]
and
[ISO 8601]
for details.
If the argument is not in any of these formats, date:seconds returns NaN.
Throws: XPathException
The date:sum function adds a set of durations together.
The string values of the nodes in the node set passed as an argument
are interpreted as durations and added together as if using the date:add-duration
function. The string values of the nodes in the node set passed as the argument
must be in the format defined for xs:duration in [3.2.6 duration] of
[XML Schema Part 2: Datatypes]. If any of the string values of these nodes
are not in this format, or if the node set is empty, the function returns an
empty string (''). The result is a string in the format defined for xs:duration
in [3.2.6 duration] of [XML Schema Part 2: Datatypes].
The durations can be summed by summing the numbers given for each of the components in the durations.
public static String time(String dateTime)
The date:time function returns the time specified in the date/time string given as the
argument.
Parameters: dateTime must start with [+|-]CCYY-MM-DDThh:mm:ss
Returns: the time part of the string
The date:time function returns the current time.
Parameters: context the XPath dynamic context
Returns: the current time as a string
public static double weekInMonth(String dateTime)
Return the week number of a specified date within the month
(Note, this function is underspecified in EXSLT)
Parameters: dateTime the date starting CCYY-MM-DD
Returns: the week number within the month
Return the ISO week number of the current date within the month
Parameters: context the XPath dynamic context
Returns: the week number within the month
public static double weekInYear(String dateTime)
Return the ISO week number of a specified date within the year
(Note, this returns the ISO week number: the result in EXSLT is underspecified)
Parameters: dateTime the current date starting CCYY-MM-DD
Returns: the ISO week number
Return the ISO week number of the current date
Parameters: context the XPath dynamic context
(Note, this returns the ISO week number: the result in EXSLT is underspecified)
Returns: the ISO week number
public static double year(String datetimeIn)
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.
Note: although not specifically permitted in the EXSLT specification, the Saxon
implementation also allows the input value to contain a timezone
Throws: XPathException
The date:year function returns the current year.
Parameters: context the XPath dynamic context
Returns: the current year as a double