Class FrenchCalendar
java.lang.Object
org.episteme.social.history.calendars.AlternateCalendar
org.episteme.social.history.calendars.SevenDaysWeek
org.episteme.social.history.calendars.MonthDayYear
org.episteme.social.history.calendars.ModifiedFrenchCalendar
org.episteme.social.history.calendars.FrenchCalendar
- All Implemented Interfaces:
Serializable
Implementation of the French Republican Calendar (astronomical version).
This version uses precise astronomical calculations for the autumnal equinox
to determine the new year, as specified in the original decree.
Key features:
- Epoch: September 22, 1792 (Autumnal Equinox)
- New year begins on the autumnal equinox at Paris meridian
- 12 months of 30 days + 5-6 complementary days
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final doubleTime zone offset for Paris meridian in minutes.protected static final doubleLength of the tropical year in days.Fields inherited from class ModifiedFrenchCalendar
DAYS, EPOCH, JOURSFields inherited from class MonthDayYear
day, month, yearFields inherited from class SevenDaysWeek
DAY_NAMES, FRIDAY, MONDAY, SATURDAY, SUNDAY, THURSDAY, TUESDAY, WEDNESDAYFields inherited from class AlternateCalendar
JD_EPOCH, rd, unicode -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new FrenchCalendar object.FrenchCalendar(int i, int j, int k) Creates a new FrenchCalendar object.FrenchCalendar(long l) Creates a new FrenchCalendar object.FrenchCalendar(AlternateCalendar altcalendar) Creates a new FrenchCalendar object. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidMain method for testing the French calendar implementation.voidRecomputes the month, day, and year from the current Rata Die number.voidRecomputes the Rata Die number from the current month, day, and year.Methods inherited from class ModifiedFrenchCalendar
getDecade, getMonths, getSuffix, getWeekDay, isLeapYear, monthName, set, toStringMethods inherited from class MonthDayYear
getDay, getMonth, getYear, setMethods inherited from class SevenDaysWeek
kDayAfter, kDayBefore, kDayNearest, kDayOnOrAfter, kDayOnOrBefore, nthKDay, weekDay, weekDayNameMethods inherited from class AlternateCalendar
add, amod, difference, difference, floorDiv, fromJD, isAfter, isBefore, mod, mod, subtract, toJD, toJD, toRD
-
Field Details
-
TIMEZONE
protected static final double TIMEZONETime zone offset for Paris meridian in minutes.- See Also:
-
TROPYEAR
protected static final double TROPYEARLength of the tropical year in days.- See Also:
-
-
Constructor Details
-
FrenchCalendar
public FrenchCalendar()Creates a new FrenchCalendar object. -
FrenchCalendar
public FrenchCalendar(long l) Creates a new FrenchCalendar object.- Parameters:
l- the Rata Die number.
-
FrenchCalendar
public FrenchCalendar(int i, int j, int k) Creates a new FrenchCalendar object.- Parameters:
i- the month (1-13).j- the day (1-30).k- the year.
-
FrenchCalendar
Creates a new FrenchCalendar object.- Parameters:
altcalendar- another calendar to initialize from.
-
-
Method Details
-
recomputeRD
public void recomputeRD()Recomputes the Rata Die number from the current month, day, and year.- Overrides:
recomputeRDin classModifiedFrenchCalendar
-
recomputeFromRD
public void recomputeFromRD()Recomputes the month, day, and year from the current Rata Die number.- Overrides:
recomputeFromRDin classModifiedFrenchCalendar
-
main
Main method for testing the French calendar implementation.- Parameters:
args- command line arguments.
-