Package com.ethlo.time
Class ITU
java.lang.Object
com.ethlo.time.ITU
The main access to the parse and formatting functions in this library.
-
Method Summary
Modifier and TypeMethodDescriptionstatic Stringformat(OffsetDateTime offsetDateTime) Format the input as an RFC-3339 formatted date-time in the timezone of the input.static Stringformat(OffsetDateTime offsetDateTime, int fractionDigits) Format the input as an RFC-3339 formatted date-time in the timezone of the input, with the specified number of fraction digits.static StringformatUtc(OffsetDateTime offsetDateTime) Format the input as an RFC-3339 formatted date-time in the UTC timezone with second resolution.static StringformatUtc(OffsetDateTime offsetDateTime, int fractionDigits) Format the input as an RFC-3339 formatted date-time in the UTC timezonestatic StringformatUtc(OffsetDateTime offsetDateTime, Field lastIncluded) Format the input as an ISO format string, limited to the granularity of the specified field, in the UTC timezone.static StringformatUtcMicro(OffsetDateTime offsetDateTime) Format the input as an RFC-3339 formatted date-time in the UTC timezone with microsecond resolution.static StringformatUtcMilli(OffsetDateTime offsetDateTime) Format the input as an RFC-3339 formatted date-time in the UTC timezone with millisecond resolution.static StringformatUtcNano(OffsetDateTime offsetDateTime) Format the input as an RFC-3339 formatted date-time in the UTC timezone with nanosecond resolutionstatic booleanCheck if the dateTime is valid according to the RFC-3339 specificationstatic booleanisValid(String text, TemporalType... types) Check if the input is valid for one of the specified typesstatic voidparse(String text, TemporalConsumer temporalConsumer) Parse the input, and use callbacks for the type of date/date-time it contains.static <T> Tparse(String text, TemporalHandler<T> temporalHandler) Parse the input, and use callbacks for the type of date/date-time it contains.static OffsetDateTimeparseDateTime(String text) Parse an RFC-3339 formatted date-time to anOffsetDateTimestatic OffsetDateTimeparseDateTime(String text, ParsePosition position) static DurationparseDuration(String text) Parses a duration string, a strict subset of ISO 8601 durations.static DurationparseDuration(String text, int offset) Parses a duration string starting at the specified offset.static DateTimeparseLenient(String text) Parse an ISO formatted date and optionally time to aDateTime.static DateTimeparseLenient(String text, ParseConfig parseConfig) Allows parsing leniently withto control some aspects of the parsingstatic DateTimeparseLenient(String text, ParseConfig parseConfig, ParsePosition position)
-
Method Details
-
parseDateTime
Parse an RFC-3339 formatted date-time to anOffsetDateTime- Parameters:
text- The text to parse- Returns:
- The date and time parsed
-
parseDuration
Parses a duration string, a strict subset of ISO 8601 durations.This method supports time-based durations with the following units:
- Weeks (`W`)
- Days (`D`)
- Hours (`H`)
- Minutes (`M`)
- Seconds (`S`), including fractional seconds up to nanosecond precision
- Years (`Y`)
- Months (`M` in the date section)
Negative durations are supported and must be prefixed with `-P`, as specified in ISO 8601. The parsed duration will be represented using a
Examples of Valid Inputlongfor total seconds and anintfor nanosecond precision. The nanosecond component is always positive, with the sign absorbed by the seconds field, following Java and ISO 8601 conventions.P2DT3H4M5.678901234S→ 2 days, 3 hours, 4 minutes, 5.678901234 secondsPT5M30S→ 5 minutes, 30 seconds-PT2.5S→ Negative 2.5 seconds-P1D→ Negative 1 day
P1Y2M3DT4H→ Contains `Y` and `M`PT→ Missing time values after `T`P-1D→ Incorrect negative placement
- Parameters:
text- the duration string to parse- Returns:
- a
Durationinstance representing the parsed duration - Throws:
DateTimeParseException- if the input does not conform to the expected format
-
parseDuration
Parses a duration string starting at the specified offset. SeeparseDuration(String)for more information.- Parameters:
text- The text to parseoffset- the offset in the text to start at- Returns:
- a
Durationinstance representing the parsed duration - Throws:
DateTimeParseException- if the input does not conform to the expected format
-
parseDateTime
-
parseLenient
Parse an ISO formatted date and optionally time to aDateTime. The result has rudimentary checks for correctness, but will not be aware of number of days per specific month or leap-years.- Parameters:
text- The text to parse- Returns:
- The date and time parsed
-
parseLenient
Allows parsing leniently withto control some aspects of the parsing- Parameters:
text- The text to parseparseConfig- The configuration to use for parsing- Returns:
- The date-time parsed
-
parseLenient
- Parameters:
text- The text to parseparseConfig- The configuration to use for parsingposition- The position to start parsing from. The index (and the errorIndex, if an error occurs) is updated after the parsing process has completed- Returns:
- The date-time parsed
-
isValid
Check if the dateTime is valid according to the RFC-3339 specification- Parameters:
text- The input to validate- Returns:
- True if valid, otherwise false
-
formatUtc
Format the input as an RFC-3339 formatted date-time in the UTC timezone- Parameters:
offsetDateTime- The date-time to formatfractionDigits- The number of fraction digits in the second field- Returns:
- The formatted string
-
formatUtc
Format the input as an ISO format string, limited to the granularity of the specified field, in the UTC timezone.- Parameters:
offsetDateTime- The date-time to formatlastIncluded- The last included field- Returns:
- The formatted string
-
format
Format the input as an RFC-3339 formatted date-time in the timezone of the input.- Parameters:
offsetDateTime- The date-time to format- Returns:
- The formatted string
-
format
Format the input as an RFC-3339 formatted date-time in the timezone of the input, with the specified number of fraction digits.- Parameters:
offsetDateTime- The date-time to formatfractionDigits- The number of fraction digits in the second field- Returns:
- The formatted string
-
formatUtc
Format the input as an RFC-3339 formatted date-time in the UTC timezone with second resolution.- Parameters:
offsetDateTime- The date-time to format.- Returns:
- The formatted string with second resolution.
-
formatUtcMilli
Format the input as an RFC-3339 formatted date-time in the UTC timezone with millisecond resolution.- Parameters:
offsetDateTime- The date-time to format.- Returns:
- The formatted string with millisecond resolution.
-
formatUtcMicro
Format the input as an RFC-3339 formatted date-time in the UTC timezone with microsecond resolution.- Parameters:
offsetDateTime- The date-time to format- Returns:
- The formatted string with microsecond resolution
-
formatUtcNano
Format the input as an RFC-3339 formatted date-time in the UTC timezone with nanosecond resolution- Parameters:
offsetDateTime- The date-time to format- Returns:
- The formatted string with nanosecond resolution
-
parse
Parse the input, and use callbacks for the type of date/date-time it contains. This allows you to handle different granularity inputs with ease!- Parameters:
text- The text to parse as a date/date-timetemporalConsumer- The consumer of the found date/date-time
-
parse
Parse the input, and use callbacks for the type of date/date-time it contains. This allows you to handle different granularity inputs with ease!- Type Parameters:
T- The type of Temporal returned- Parameters:
text- The text to parse as a date/date-timetemporalHandler- The handler of the found date/date-time- Returns:
- The temporal matching the type handled
-
isValid
Check if the input is valid for one of the specified types- Parameters:
text- The input to checktypes- The types that are considered valid- Returns:
- True if valid, otherwise false
-