Class ItuDurationParser
java.lang.Object
com.ethlo.time.internal.ItuDurationParser
Rationale Against Supporting Years and Months
Supporting years (Y) and months (M) in duration calculations is problematic due to:
Variable Lengths: Months have different lengths (28-31 days), and years may be leap or non-leap (365 vs. 366 days). This makes durations ambiguous unless referenced to a specific start date.
Context-Dependent Interpretation: P1M could mean 28, 29, 30, or 31 days depending on the month in which it is applied.
Difficult Arithmetic: Operations like addition and comparison require anchoring to a specific date, making them non-trivial in purely arithmetic computations.
Consistency Issues: Excluding years and months ensures durations are always exact and unambiguous, aligning with precise time-based measurements.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final charstatic final charstatic final charstatic final charstatic final intstatic final charstatic final charstatic final charstatic final charstatic final charstatic final charstatic final char -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Durationstatic Durationprivate static intreadUntilNonDigit(String text, int offset, DurationPartsConsumer consumer)
-
Field Details
-
NANOS_IN_SECOND
public static final int NANOS_IN_SECOND- See Also:
-
SEP_T
public static final char SEP_T- See Also:
-
UNIT_WEEK
public static final char UNIT_WEEK- See Also:
-
UNIT_DAY
public static final char UNIT_DAY- See Also:
-
UNIT_HOUR
public static final char UNIT_HOUR- See Also:
-
UNIT_MINUTE
public static final char UNIT_MINUTE- See Also:
-
UNIT_SECOND
public static final char UNIT_SECOND- See Also:
-
DOT
public static final char DOT- See Also:
-
DIGIT_ZERO
public static final char DIGIT_ZERO- See Also:
-
DIGIT_NINE
public static final char DIGIT_NINE- See Also:
-
MINUS
public static final char MINUS- See Also:
-
UNIT_UNDEFINED
public static final char UNIT_UNDEFINED- See Also:
-
-
Constructor Details
-
ItuDurationParser
public ItuDurationParser()
-
-
Method Details
-
parse
-
parse
-
readUntilNonDigit
-