UNPKG

floreal

Version:

Date formatting for the French Revolutionary calendar

226 lines (166 loc) 5.96 kB
# floreal ## Installation ## Using git: $ git clone https://github.com/seeschloss/floreal.git Using npm: $ npm install floreal ## Usage ## ### new floreal.Date(timespec) ### Uses the native JavaScript Date object to parse *timespec* and takes any correctly formatted date. An `undefined` timespec means today. ```javascript var Floreal = require('floreal').Date; var coup = new Floreal("1799-11-09"); console.log('%s', coup); ``` will output: 18 brumaire, an VIII ### floreal.Date.toFullDateString() ### Returns the full date in long form as "[day number] [month name], an [year in roman numerals]" ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-10-11")).toFullDateString()); ``` will output: 18 brumaire, an VIII ### floreal.Date.toShortDateString() ### Returns the full date in short form as "[day number]-[month number]-[year in roman numerals]" ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-10-11")).toShortDateString()); ``` will output: 18-02-VIII ### floreal.Date.setYear(year) ### Sets Republican year for the date *in roman numerals* ### floreal.Date.setYearDecimal(year) ### Sets Republican year for the date in arabic numerals ### floreal.Date.setMonth(month) ### Sets Republican month for the date. Month 1 is vendémiaire, both 0 and 13 represent complementary days. ### floreal.Date.setDay(day) ### Sets Republican day for the date, first day of the month is 1. ### floreal.Date.setDate(year, month, day) ### Sets the full Republican date. ```javascript var Floreal = require('floreal').Date; var date = new Floreal(); date.setDate(8, 2, 18); console.log('%s', date.toFullDateString()); ``` will output: 18 brumaire, an VIII ### floreal.Date.setMonth(month) ### ### floreal.Date.setDay(day) ### ### floreal.Date.year() ### ### floreal.Date.yearDecimal() ### Displays year of the Republic as roman numerals or as a decimal number ```javascript var Floreal = require('floreal').Date; var coup = new Floreal("1799-11-09"); console.log('%s', coup.year()); console.log('%s', coup.yearDecimal()); ``` will output: VIII 8 ### floreal.Date.isYearSextile() ### Returns true if year is sextile, using actual sextile years for years I to XVI, and [Romme system](http://gallica.bnf.fr/ark:/12148/bpt6k826927/f328.image.r) for subsequent years. ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).isYearSextile()); console.log('%s', (new Floreal("1803-08-18")).isYearSextile()); ``` will output: false true ### floreal.Date.firstDayOfYear() ### Returns the first day of the Republican year as a JavaScript Date object. ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).firstDayOfYear().toDateString()); console.log('%s', (new Floreal("1803-08-18")).firstDayOfYear().toDateString()); ``` will output: Mon Sep 23 1799 Thu Sep 23 1802 ### floreal.Date.dayOfYear() ### Returns the day number within the year (from 1 to 365, or 366 for sextile years). ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).dayOfYear()); ``` will output: 48 ### floreal.Date.month() ### Returns the month number within the year. Complementary days are technically not part of any month, but for practical purposes are considered part of the 13th month. ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).month()); ``` will output: 2 ### floreal.Date.isComplementaryDay() ### Whether the day is a complementary day—the five or six days at the end of the year which are not part of any month. ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1800-09-20")).isComplementaryDay()); ``` will output: true ### floreal.Date.monthName() ### Returns the (French) name of the month, in all lower case, or an empty string for complementary days. ```javascript var Floreal = require('floreal').Date; console.log('"%s"', (new Floreal("1799-11-09")).monthName()); console.log('"%s"', (new Floreal("1800-09-20")).monthName()); ``` will output: "brumaire" "" ### floreal.Date.dayOfMonth() ### ### floreal.Date.day() ### Returns the day number within its month, from 1 to 30 (1 to 6 for complementary days). ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).dayOfMonth()); console.log('%s', (new Floreal("1800-09-20")).dayOfMonth()); ``` will output: 18 3 ### floreal.Date.dayOfDecade() ### ### floreal.Date.dayOfWeek() ### Returns the day number within its decade, from 1 to 10 (1 to 6 for complementary days). ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).dayOfDecade()); console.log('%s', (new Floreal("1800-09-20")).dayOfDecade()); ``` will output: 8 3 ### floreal.Date.decade() ### Returns the decade number within the month, from 1 to 3 (complementary days are reported as belonging to first decade). ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).decade()); console.log('%s', (new Floreal("1800-09-20")).decade()); ``` will output: 2 1 ### floreal.Date.dayName() ### Returns the name of the day (primidi, duodi... equivalent to monday, tuesday...). Complementary days have a different naming scheme and are named "jour de la vertu", "jour du génie", etc. ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-11-09")).dayName()); ``` will output: octidi ### floreal.Date.dayTitle() ### Returns the French name of the object associated with the day (like saints on Christian calendars). ```javascript var Floreal = require('floreal').Date; console.log('%s', (new Floreal("1799-10-11")).dayTitle()); ``` will output: tournesol