Enum Class JapaneseCalendar.Unit
- All Implemented Interfaces:
Serializable
,Comparable<JapaneseCalendar.Unit>
,java.lang.constant.Constable
,ChronoUnit
- Enclosing class:
- JapaneseCalendar
Defines some calendar units for the Japanese calendar.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
-
Method Summary
Modifier and TypeMethodDescriptionlong
between(JapaneseCalendar start, JapaneseCalendar end)
Calculates the difference between given Japanese dates in this unit.double
Defines the typical length of this time unit in seconds without taking into account anomalies like timezone effects or leap seconds.boolean
Queries if this time unit is calendrical respective is at least as long as a calendar day.static JapaneseCalendar.Unit
Returns the enum constant of this class with the specified name.static JapaneseCalendar.Unit[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class java.lang.Enum
compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Enum Constant Details
-
ERAS
The fuzzy unit of a nengo respective era.
Nengos have very different and unpredictable lengths. Time4J uses
Integer.MAX_VALUE
as length to indicate this behaviour. If any nengo is one of the northern court (1332-1393) then it will first be converted to its southern court equivalent before applying any era arithmetics.If necessary in case of addition, Time4J will adjust the smaller elements year-of-nengo, month-of-year and day-of-month such that they still fit within the context of the newly calculated nengo. However, the main purpose of this unit is to count the nengo distance between two Japanese dates.
-
YEARS
The unit of a gregorian or lunisolar year.
Note that lunisolar years sometimes consist of 13 instead of 12 months.
-
MONTHS
The unit of a gregorian or lunisolar month.
Note: The month arithmetic is limited to amounts smaller than
25000
otherwise anArithmeticException
will be thrown. -
WEEKS
The Japanese calendar uses a 7-day-week.
-
DAYS
Standard unit for days.
- See Also:
CalendarDays
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-
getLength
public double getLength()Description copied from interface:ChronoUnit
Defines the typical length of this time unit in seconds without taking into account anomalies like timezone effects or leap seconds.
Important note: This method can only yield an estimated value and is not intended to assist in calculations of durations, but only in sorting of units.
- Specified by:
getLength
in interfaceChronoUnit
- Returns:
- estimated decimal value in seconds
-
isCalendrical
public boolean isCalendrical()Description copied from interface:ChronoUnit
Queries if this time unit is calendrical respective is at least as long as a calendar day.
Implementation note: The method must be consistent with the typical length of the unit. The expression
Double.compare(unit.getLength(), 86400.0) >= 0
is equivalent tounit.isCalendrical()
.- Specified by:
isCalendrical
in interfaceChronoUnit
- Returns:
true
if at least as long as a day elsefalse
-
between
Calculates the difference between given Japanese dates in this unit.
- Parameters:
start
- start date (inclusive)end
- end date (exclusive)- Returns:
- difference counted in this unit
-