public final class ISO8601 extends Object
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
Modifier and Type | Class and Description |
---|---|
static class |
ISO8601.SHORT
Variants that exclude the milliseconds from the formatted string.
|
Constructor and Description |
---|
ISO8601() |
Modifier and Type | Method and Description |
---|---|
static String |
format(Calendar cal)
Formats a
Calendar value into an ISO8601-compliant
date/time string. |
static String |
format(Clock clock)
Formats a clock time instant into an ISO8601-compliant date/time string.
|
static String |
format(Date date)
Formats a time instant into an ISO8601-compliant date/time string using
the UTC timezone.
|
static String |
format(Date date,
int tzOffsetInSeconds)
Formats a time instant and a timezone offset into an ISO8601-compliant
date/time string.
|
static String |
format(long millisSinceEpoch)
Formats a time instant into an ISO8601-compliant date/time string using
the UTC timezone.
|
static String |
format(long millisSinceEpoch,
int tzOffsetInSeconds)
Formats a time instant and a timezone offset into an ISO8601-compliant
date/time string.
|
static int |
getYear(Calendar cal)
Returns the astronomical year of the given calendar.
|
static Calendar |
parse(String text)
Parses an ISO8601-compliant date/time string.
|
public static Calendar parse(String text)
text
- the date/time string to be parsedCalendar
, or null
if the input could
not be parsedIllegalArgumentException
- if a null
argument is passedpublic static String format(Date date) throws IllegalArgumentException
date
- date to be formattedIllegalArgumentException
- if the calendar cannot be represented as defined by ISO 8601
(i.e. year with more than four digits).public static String format(Clock clock) throws IllegalArgumentException
clock
- clock to obtain time and time zone fromIllegalArgumentException
- if the calendar cannot be represented as defined by ISO 8601
(i.e. year with more than four digits).public static String format(long millisSinceEpoch) throws IllegalArgumentException
millisSinceEpoch
- milliseconds since the epochIllegalArgumentException
- if the calendar cannot be represented as defined by ISO 8601
(i.e. year with more than four digits).public static String format(Date date, int tzOffsetInSeconds) throws IllegalArgumentException
date
- date to be formattedtzOffsetInSeconds
- timezone offset from UTC in secondsIllegalArgumentException
- if the calendar cannot be represented as defined by ISO 8601
(i.e. year with more than four digits).public static String format(long millisSinceEpoch, int tzOffsetInSeconds) throws IllegalArgumentException
millisSinceEpoch
- milliseconds since the epochtzOffsetInSeconds
- timezone offset from UTC in secondsIllegalArgumentException
- if a null
argument is passed the calendar cannot
be represented as defined by ISO 8601 (i.e. year with more
than four digits).public static String format(Calendar cal) throws IllegalArgumentException
Calendar
value into an ISO8601-compliant
date/time string.cal
- the time value to be formatted into a date/time string.IllegalArgumentException
- if a null
argument is passed
or the calendar cannot be represented as defined by ISO 8601 (i.e. year
with more than four digits).public static int getYear(Calendar cal) throws IllegalArgumentException
cal
- a calendar instance.IllegalArgumentException
- if calendar cannot be represented as
defined by ISO 8601 (i.e. year with more
than four digits).Copyright © 2004–2024 The Apache Software Foundation. All rights reserved.