Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

French Revolutionary Calendar #615

Closed
MenoData opened this issue Feb 15, 2017 · 5 comments
Closed

French Revolutionary Calendar #615

MenoData opened this issue Feb 15, 2017 · 5 comments

Comments

@MenoData
Copy link
Owner

MenoData commented Feb 15, 2017

This will be done in two steps. This issue is only about the first step, namely to introduce this calendar as subclass of CalendarVariant based on the algorithmic proposal of Rommé. Another variant called LEGAL is also possible and will only be applicable on the historic period during the French Revolution.

The real leap year calculation based on autumnal equinox requires astronomical calculations and represents step 2 which will be introduced in a later release as another variant.

Update from 2017-03-24:
Now I have calculations for autumnal equinox available (astro-branch) so the two-step-strategy does not seem to be necessary any longer.

@MenoData MenoData added this to the F3.29/4.25: More about calendars milestone Feb 15, 2017
@MenoData MenoData changed the title Model the French Revolutionary Calendar French Revolutionary Calendar Feb 15, 2017
@MenoData
Copy link
Owner Author

MenoData commented Feb 15, 2017

The sansculottides (complementary days after 12 months at the end of the year) must not be handled as 13th month. Strictly modelling the exact properties of the original historic calendar "as is" is the goal here. Of course, correct naming of months and days is essential, too. In order to realize both goals, an extra hidden element representing either month or sansculottides as TextElement is probably necessary for formatting purposes.

Update from 2017-06-15:

The idea using a hidden text element is not practical because a French Revolutionary date requires two different formats dependent on if it is a sansculottide day or not. And the sansculottide format has only two elements instead of three for normal dates.

@MenoData MenoData modified the milestones: F3.30/4.26: More about calendars, F3.29/4.25: Better access to platform zone data Feb 21, 2017
@MenoData
Copy link
Owner Author

MenoData commented Mar 2, 2017

Link: https://en.wikipedia.org/wiki/French_Republican_Calendar
Validity: 1792-09-22/1805-12-31
Validity during commune of Paris:

  • 6–23 May 1871 (16 Floréal–3 Prairial An LXXIX)

The implementation should take into account if the dates for the commune of Paris are based on the autumnal equinox method or on an algorithmic variant (not yet clear to me).

@MenoData
Copy link
Owner Author

MenoData commented Mar 2, 2017

After having done my own equinox calculations: Both the equinox-method and the Rommé-method yield the same dates for the commune of Paris in year 1871. The commune has at least not obviously chosen the Rommé-method although I might be wrong here - possible corrections citing historical sources welcome. This fact indicates favouring the equinox method because of its legal/official status during the French Revolution.

Conclusion: The FrenchRevolutionaryCalendar could also inherit from Calendrical preferring the equinox method. The original idea to inherit from CalendarVariant is based on equal justification of all variants. Support for Rommé in case of super-class Calendrical would still be possible via specialized factory methods, units and getters. Needs some more design thinking...

@MenoData MenoData modified the milestones: F3.31/4.27: More about calendars, F3.30/4.26: More about calendars Mar 17, 2017
@MenoData
Copy link
Owner Author

MenoData commented Mar 24, 2017

Other experiments/implementations about this topic:

ThreeTen/threeten-extra#71 (discussion only about algorithmic details)
https://github.com/caarmen/french-revolutionary-calendar (including some i18n-stuff)
https://github.com/mvanbesien/js-calendars/blob/master/js/republican.js (with day names)

@MenoData
Copy link
Owner Author

MenoData commented Mar 28, 2017

A good source for the original laws of French Revolution says:

Art. Premier. L’ère des Français compte de la fondation de la république, qui a eu lieu le 22 septembre 1792 de l’ère vulgaire, jour où le soleil est arrivé à l’équinoxe vraie d’automne, en entrant dans le signe de la Balance, à 9heures 18 minutes 30 secondes du matin, pour l’Observatoire de Paris.

The term "équinox vrai" (true equinox) indicates the usage of apparent solar time, not mean solar time, so the equation of time to convert from mean to apparent solar time is obviously necessary, too.

And about the term "franciade":

La période de quatre ans, au bout de laquelle cette addition d’un jour est ordinairement nécessaire, est appelée la franciade, en mémoire de la révolution qui, après quatre ans d’efforts, a conduit la France au gouvernement républicain. La quatrième année de la franciade est appelée sextile.

We need to not overlook the word "ordinairement" (usually), so the franciade is not always four years long as users could interprete it on first glance. Support for franciades in the Time4J-implementation would also be nice.

MenoData added a commit that referenced this issue Jul 9, 2017
MenoData added a commit that referenced this issue Jul 9, 2017
MenoData added a commit that referenced this issue Jul 11, 2017
MenoData added a commit that referenced this issue Jul 14, 2017
MenoData added a commit that referenced this issue Jul 16, 2017
MenoData added a commit that referenced this issue Jul 25, 2017
MenoData added a commit that referenced this issue Jul 28, 2017
@MenoData MenoData added the fixed label Jul 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant