Glich - v0.3.0 Manual
fr - French Republican
Home Development v0.3.0 Manual Hics Library fr

Calendar Description - Scheme fr

The French Republican calendar was part of the reforms brought in after the French Revolution, the same reforms that lead to the metric system.

The calendar consists of 12 months of thirty days each and five (six in a leap year) additional days (Complémentaires) at the end of the year. The year change is the autumnal equinox as measured at the Paris Observatory which sets the first day of the first month, Vendémiaire.

Each month was divided into three 10 day periods called Décades and the days were named according to their position. The last day, Décadi, was a public holiday.

The use of Décades was discontinued in Apr 1802 (Gregorian) and the 7-day Week restored.

See also the Wikipedia entry.

Use Case

The calendar had a short life, the details below being the only recorded uses.

Definition

Days in Month
NumberNameNumber of Days
CommonLeap
1Vendémiaire3030
2Brumaire3030
3Frimaire3030
4Nivôse3030
5Pluviôse3030
6Ventôse3030
7Germinal3030
8Floréal3030
9Prairial3030
10Messidor3030
11Thermidor3030
12Fructidor3030
13Complémentaires56
Record - Default order
yearmonthday nmonth nmday cday dday wday
Record - Ranking order
year nmonth nmday cday dday wday month day

The year length is 365 or 366 days long, averaging the tropical year of approximately 365.24219 days. Days start at midnight.

The Record consists of three base Fields named year. month and day. There are 13 months in a year. All the months contain 30 days except the 13th which contains 5 days in a common year and 6 in a leap year.

To assist in formatting, the record contains 3 calculated fields: nmonth, nmday and cday. During the first 12 months, nmonth, and nmday contain the same as month and day, whilst cday holds the null value. During the 13th month, nmonth and nmday contain the null values and cday is the same as the day field.

Each full month is divided into 3 décades or 10 day weeks. The calculated field dday provides the day of the décade.

The calendar was still in use when the 7 day week was re-introduced. The optional field wday is included to provide the day of the week.

The Epoch is set at
fryearmonthday
111
=
gyearmonthday
1792922
=
jdnday
2375840
.

Formats

When this scheme was in use, the usual method of formatting was: day of month, the month name, the year. During the five or six day Complémentaires period, just the day's name and the year were given. The year was usually written in Roman numerals.

To simplify the format, particularly for automated systems, the Complémentaires period can be treated as a short month and the format is then always: day of month, month name, the year.

Two lexicons for the month names are provided, frnm which is just the 12 month names and frm which includes the Complémentaires month.

Month Names - Lexicon frnm
NumberNameAbrev.
1VendémiaireVend
2BrumaireBrum
3FrimaireFrim
4NivôseNivo
5PluviôsePluv
6VentôseVent
7GerminalGerm
8FloréalFlor
9PrairialPrai
10MessidorMess
11ThermidorTher
12FructidorFruc
Month Names - Lexicon frm
NumberNameAbrev.
All enries in frnm plus:-
13ComplémentairesComp
Complémentaire Day Names - Lexicon frcomp
NumberNameAbrev.
1Fête de la VertuVer
2Fête du GénieGen
3Fête du TravailTrav
4Fête de l'OpinionOpin
5Fête des RécompensesRec
6Fête de la RévolutionRev

Décade Day Name - Lexicon frdd
NumberNameAbrev.
1PrimidiPrim
2DuodiDuo
3TridiTri
4QuartidiQuar
5QuintidiQuin
6SextidiSext
7SeptidiSept
8OctidiOct
9NonidiNon
10DécadiDec

The day of the week may also be included in the format. The 10 day week was introduced as part of the calendar scheme. Later the 7 day week was re-introduced by popular demand.

The formats supplied with this scheme.

Formats - Grammar fr
CodeRulePseudoExampleNote
dmy_atextInput: day month year
Output: dd Mon yyyy
5 Comp 232
1 Vend 233
S
dmytextInput: day month year
Output: dd Month yyyy
5 Complémentaires 232
1 Vendémiaire 233
D, S
ymdtextInput: year month day
Output: yyyy Month dd
232 Complémentaires 5
233 Vendémiaire 1
S
cdmytextInput: cday nmday nmonth year
Output: CompDay dd Month yyyy
Fête des Récompenses 232
1 Vendémiaire 233
cdmy-textInput: cday nmday nmonth year
Output: CDay dd Mon yyyy
Rec 232
1 Vend 233
stdtextInput: cday nmday nmonth year
Output: CompDay dd Month an yyyy[X]
Fête des Récompenses an CCXXXII
1 Vendémiaire an CCXXXIII
dcdmytextInput: dday cday nmday nmonth year
Output: DecDay CompDay dd Month yyyy
Fête des Récompenses 232
Primidi 1 Vendémiaire 233
dcdmy-textInput: dday cday nmday nmonth year
Output: DDay CDay dd Mon yyyy
Rec 232
Prim 1 Vend 233
wcdmytextInput: wday cday nmday nmonth year
Output: Weekday, CompDay dd Month yyyy
Saturday, Fête des Récompenses 232
Sunday, 1 Vendémiaire 233
wcdmy-textInput: wday cday nmday nmonth year
Output: Wday, CDay dd Mon yyyy
Sat, Rec 232
Sun, 1 Vend 233
gedcomtextInput: day month year
Output: dd MON yyyy
5 COMP 232
1 VEND 233
S
deftextInput: year month day nmonth nmday cday dday
Output: yyyy mm dd mm dd c d
232 13 5 5
233 1 1 1 1 1
H
uunitInput: 9y 9m 9d 9nm 9nd 9cd 9dd
Output: 9y 9m 9d 9nm 9nd 9cd 9dd
232y 13m 5d 5cd
233y 1m 1d 1nm 1nd 1dd
H
Notes: D = Default, H = Hidden, S = Range shortcut supported. Example based on jdn# 2460575 and 2460576

Script

Script - Module hics:french_rep
lexicon frnm { name "Normal Month names"; fieldname nmonth; lang en; pseudo Month, Mon; tokens { 1, "Vendémiaire", "Vend"; 2, "Brumaire", "Brum"; 3, "Frimaire", "Frim"; 4, "Nivôse", "Nivo"; 5, "Pluviôse", "Pluv"; 6, "Ventôse", "Vent"; 7, "Germinal", "Germ"; 8, "Floréal", "Flor"; 9, "Prairial", "Prai"; 10, "Messidor", "Mess"; 11, "Thermidor", "Ther"; 12, "Fructidor", "Fruc"; } } lexicon frm { name "Month names"; inherit frnm; fieldname month; tokens { 13, "Complémentaires", "Comp"; } } lexicon frcomp { name "Complementary Days"; fieldname cday; lang en; pseudo CompDay, CDay; tokens { 1, "Fête de la Vertu", "Ver"; 2, "Fête du Génie", "Gen"; 3, "Fête du Travail", "Trav"; 4, "Fête de l'Opinion", "Opin"; 5, "Fête des Récompenses", "Rec"; 6, "Fête de la Révolution", "Rev"; } } lexicon frdd { name "Decade Day"; fieldname dday; lang en; pseudo DecDay, DDay; tokens { 1, "Primidi", "Prim"; 2, "Duodi", "Duo"; 3, "Tridi", "Tri"; 4, "Quartidi", "Quar"; 5, "Quintidi", "Quin"; 6, "Sextidi", "Sext"; 7, "Septidi", "Sept"; 8, "Octidi", "Oct"; 9, "Nonidi", "Non"; 10, "Décadi", "Dec"; } } grammar fr { name "French Republic"; fields year month day; calculated nmonth nmday cday, dday; optional wday; rank year nmonth nmday; lexicons frm, frnm, frcomp, frdd, w; alias pseudo { dd day; mm month; yyyy year; mm nmonth; dd nmday; c cday; d dday; w wday; } alias unit { d day; m month; y year; nm nmonth; nd nmday; cd cday; dd dday; } // Record: year month day nmonth nmday cday dday wday function calc_to_def { if cday = null month = nmonth; day = nmday; dday = ( (day - 1) mod 10 ) + 1; else month = 13; day = cday; dday = null; endif result = this; } function def_to_calc { if month <> null if month < 13 nmonth = month; nmday = day; cday = null; dday = ( (day - 1) mod 10 ) + 1; else nmonth = null; nmday = null; cday = day; dday = null; endif endif result = this; } use { calculate def_to_calc; from:text calc_to_def; } format dmy_a { inout "{day} |{month:frm:a} |{year}"; rank year month day; use:in def_to_calc; } format dmy { inout "{day} |{month:frm} |{year}"; rank year month day; use:in def_to_calc; } format ymd { inout "{year}| {month:frm}| {day}"; rank year month day; use:in def_to_calc; } format cdmy "{cday:frcomp} |{nmday} |{nmonth:frnm} |{year}"; format "cdmy-" "{cday:frcomp:a} |{nmday} |{nmonth:frnm:a} |{year}"; format std "{cday:frcomp} |{nmday} |{nmonth:frnm} |an {year::rn}"; format dcdmy "{dday:frdd} |{cday:frcomp} |{nmday} |{nmonth:frnm} |{year}"; format "dcdmy-" "{dday:frdd:a} |{cday:frcomp:a} |{nmday} |{nmonth:frnm:a} |{year}"; format wcdmy "{wday:w}, |{cday:frcomp} |{nmday} |{nmonth:frnm} |{year}"; format "wcdmy-" "{wday:w:a}, |{cday:frcomp:a} |{nmday} |{nmonth:frnm:a} |{year}"; format gedcom { inout "{day} |{month:frm:a:u} |{year}"; rank year month day; use:in def_to_calc; } preferred dmy; } scheme fr { name "French Republic"; base french; grammar fr; }

The script uses the lexicon "w" definition from the jwn Julian Week Number scheme for the optional field wday.

Home Development v0.3.0 Manual Hics Library fr

Managed by WebPageLayout Validated by HTML Validator (based on Tidy)

19th June 2024