Enum Class FrenchRepublicanCalendar.Unit
- All Implemented Interfaces:
Serializable
,Comparable<FrenchRepublicanCalendar.Unit>
,java.lang.constant.Constable
,ChronoUnit
- Enclosing class:
- FrenchRepublicanCalendar
Defines come calendar units for the French revolutionary calendar.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionThe universal day unit.Decades consist of ten days where complementary days will be ignored or skipped.The month arithmetic handles the sansculottides as extension of last month Fructidor.Weeks consist of seven days.Years are defined as equinox years and not as tropical years. -
Method Summary
Modifier and TypeMethodDescriptionlong
between(FrenchRepublicanCalendar start, FrenchRepublicanCalendar end)
Calculates the difference between given calendar 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.Returns the enum constant of this class with the specified name.static FrenchRepublicanCalendar.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
-
YEARS
Years are defined as equinox years and not as tropical years.
-
MONTHS
The month arithmetic handles the sansculottides as extension of last month Fructidor.
The resulting date is always within a republican month. Example:
FrenchRepublicanCalendar cal = FrenchRepublicanCalendar.of(1, Sansculottides.COMPLEMENTARY_DAY_3); FrenchRepublicanCalendar next = cal.plus(1, FrenchRepublicanCalendar.Unit.MONTHS); System.out.println(next); // French-Republic-II-01-30 (30th of Vendémiaire II)
-
DECADES
Decades consist of ten days where complementary days will be ignored or skipped.
-
WEEKS
Weeks consist of seven days.
-
DAYS
The universal day unit.
-
-
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 calendar dates in this unit.
- Parameters:
start
- start date (inclusive)end
- end date (exclusive)- Returns:
- difference counted in this unit
-