Package com.ethlo.time
Class ITU
- java.lang.Object
-
- com.ethlo.time.ITU
-
public class ITU extends java.lang.Object
The main access to the parse and formatting functions in this library.
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ITU()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
format(java.time.OffsetDateTime offsetDateTime)
Format the input as an RFC-3339 formatted date-time in the timezone of the input.static java.lang.String
format(java.time.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 java.lang.String
formatUtc(java.time.OffsetDateTime offsetDateTime)
Format the input as an RFC-3339 formatted date-time in the UTC timezone with second resolution.static java.lang.String
formatUtc(java.time.OffsetDateTime offsetDateTime, int fractionDigits)
Format the input as an RFC-3339 formatted date-time in the UTC timezonestatic java.lang.String
formatUtc(java.time.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 java.lang.String
formatUtcMicro(java.time.OffsetDateTime offsetDateTime)
Format the input as an RFC-3339 formatted date-time in the UTC timezone with microsecond resolution.static java.lang.String
formatUtcMilli(java.time.OffsetDateTime offsetDateTime)
Format the input as an RFC-3339 formatted date-time in the UTC timezone with millisecond resolution.static java.lang.String
formatUtcNano(java.time.OffsetDateTime offsetDateTime)
Format the input as an RFC-3339 formatted date-time in the UTC timezone with nanosecond resolutionprivate static boolean
isAllowed(TemporalType needle, TemporalType... allowed)
static boolean
isValid(java.lang.String text)
Check if the dateTime is valid according to the RFC-3339 specificationstatic boolean
isValid(java.lang.String text, TemporalType... types)
Check if the input is valid for one of the specified typesstatic void
parse(java.lang.String text, TemporalConsumer temporalConsumer)
Parse the input, and use callbacks for the type of date/date-time it contains.static <T> T
parse(java.lang.String text, TemporalHandler<T> temporalHandler)
Parse the input, and use callbacks for the type of date/date-time it contains.static java.time.OffsetDateTime
parseDateTime(java.lang.String text)
Parse an RFC-3339 formatted date-time to anOffsetDateTime
static java.time.OffsetDateTime
parseDateTime(java.lang.String text, java.text.ParsePosition position)
static DateTime
parseLenient(java.lang.String text)
Parse an ISO formatted date and optionally time to aDateTime
.static DateTime
parseLenient(java.lang.String text, ParseConfig parseConfig)
Allows parsing leniently withto control some aspects of the parsing
static DateTime
parseLenient(java.lang.String text, ParseConfig parseConfig, java.text.ParsePosition position)
-
-
-
Method Detail
-
parseDateTime
public static java.time.OffsetDateTime parseDateTime(java.lang.String text)
Parse an RFC-3339 formatted date-time to anOffsetDateTime
- Parameters:
text
- The text to parse- Returns:
- The date and time parsed
-
parseDateTime
public static java.time.OffsetDateTime parseDateTime(java.lang.String text, java.text.ParsePosition position)
-
parseLenient
public static DateTime parseLenient(java.lang.String text)
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
public static DateTime parseLenient(java.lang.String text, ParseConfig parseConfig)
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
public static DateTime parseLenient(java.lang.String text, ParseConfig parseConfig, java.text.ParsePosition position)
- 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
public static boolean isValid(java.lang.String text)
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
public static java.lang.String formatUtc(java.time.OffsetDateTime offsetDateTime, int fractionDigits)
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
public static java.lang.String formatUtc(java.time.OffsetDateTime offsetDateTime, Field lastIncluded)
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
public static java.lang.String format(java.time.OffsetDateTime offsetDateTime)
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
public static java.lang.String format(java.time.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.- Parameters:
offsetDateTime
- The date-time to formatfractionDigits
- The number of fraction digits in the second field- Returns:
- The formatted string
-
formatUtc
public static java.lang.String formatUtc(java.time.OffsetDateTime offsetDateTime)
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
public static java.lang.String formatUtcMilli(java.time.OffsetDateTime offsetDateTime)
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
public static java.lang.String formatUtcMicro(java.time.OffsetDateTime offsetDateTime)
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
public static java.lang.String formatUtcNano(java.time.OffsetDateTime offsetDateTime)
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
public static void parse(java.lang.String text, TemporalConsumer temporalConsumer)
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
public static <T> T parse(java.lang.String text, TemporalHandler<T> temporalHandler)
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
public static boolean isValid(java.lang.String text, TemporalType... types)
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
-
isAllowed
private static boolean isAllowed(TemporalType needle, TemporalType... allowed)
-
-