Package org.apache.jackrabbit.util
Class ISO8601
java.lang.Object
org.apache.jackrabbit.util.ISO8601
The
ISO8601 utility class provides helper methods
to deal with date/time formatting using a specific ISO8601-compliant
format (see ISO 8601).
The currently supported format is:
±YYYY-MM-DDThh:mm:ss.SSSTZDwhere:
±YYYY = four-digit year with optional sign where values <= 0 are
denoting years BCE and values > 0 are denoting years CE,
e.g. -0001 denotes the year 2 BCE, 0000 denotes the year 1 BCE,
0001 denotes the year 1 CE, and so on...
MM = two-digit month (01=January, etc.)
DD = two-digit day of month (01 through 31)
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
SSS = three digits of milliseconds (000 through 999)
TZD = time zone designator, Z for Zulu (i.e. UTC) or an offset from UTC
in the form of +hh:mm or -hh:mm
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classVariants that exclude the milliseconds from the formatted string. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringformat(long millisSinceEpoch) Formats a time instant into an ISO8601-compliant date/time string using the UTC timezone.static Stringformat(long millisSinceEpoch, int tzOffsetInSeconds) Formats a time instant and a timezone offset into an ISO8601-compliant date/time string.static StringFormats a clock time instant into an ISO8601-compliant date/time string.static StringFormats aCalendarvalue into an ISO8601-compliant date/time string.static StringFormats a time instant into an ISO8601-compliant date/time string using the UTC timezone.static StringFormats a time instant and a timezone offset into an ISO8601-compliant date/time string.static intReturns the astronomical year of the given calendar.static CalendarParses an ISO8601-compliant date/time string.
-
Constructor Details
-
ISO8601
public ISO8601()
-
-
Method Details
-
parse
Parses an ISO8601-compliant date/time string.- Parameters:
text- the date/time string to be parsed- Returns:
- a
Calendar, ornullif the input could not be parsed - Throws:
IllegalArgumentException- if anullargument is passed
-
format
Formats a time instant into an ISO8601-compliant date/time string using the UTC timezone.- Parameters:
date- date to be formatted- Returns:
- the formatted date/time string.
- Throws:
IllegalArgumentException- if the calendar cannot be represented as defined by ISO 8601 (i.e. year with more than four digits).
-
format
Formats a clock time instant into an ISO8601-compliant date/time string.- Parameters:
clock- clock to obtain time and time zone from- Returns:
- the formatted date/time string.
- Throws:
IllegalArgumentException- if the calendar cannot be represented as defined by ISO 8601 (i.e. year with more than four digits).
-
format
Formats a time instant into an ISO8601-compliant date/time string using the UTC timezone.- Parameters:
millisSinceEpoch- milliseconds since the epoch- Returns:
- the formatted date/time string.
- Throws:
IllegalArgumentException- if the calendar cannot be represented as defined by ISO 8601 (i.e. year with more than four digits).
-
format
Formats a time instant and a timezone offset into an ISO8601-compliant date/time string.- Parameters:
date- date to be formattedtzOffsetInSeconds- timezone offset from UTC in seconds- Returns:
- the formatted date/time string.
- Throws:
IllegalArgumentException- if the calendar cannot be represented as defined by ISO 8601 (i.e. year with more than four digits).
-
format
public static String format(long millisSinceEpoch, int tzOffsetInSeconds) throws IllegalArgumentException Formats a time instant and a timezone offset into an ISO8601-compliant date/time string.- Parameters:
millisSinceEpoch- milliseconds since the epochtzOffsetInSeconds- timezone offset from UTC in seconds- Returns:
- the formatted date/time string.
- Throws:
IllegalArgumentException- if anullargument is passed the calendar cannot be represented as defined by ISO 8601 (i.e. year with more than four digits).
-
format
Formats aCalendarvalue into an ISO8601-compliant date/time string.- Parameters:
cal- the time value to be formatted into a date/time string.- Returns:
- the formatted date/time string.
- Throws:
IllegalArgumentException- if anullargument is passed or the calendar cannot be represented as defined by ISO 8601 (i.e. year with more than four digits).
-
getYear
Returns the astronomical year of the given calendar.- Parameters:
cal- a calendar instance.- Returns:
- the astronomical year.
- Throws:
IllegalArgumentException- if calendar cannot be represented as defined by ISO 8601 (i.e. year with more than four digits).
-