slug: calendrical
translates: calendrical
lang: en
title: A calendrical table
pageCreated: "2021-01-19"
pageUpdated: "2025-10-08"
extends ../../views/layout.pug
append presets
- hasSidenotes = true
- const thisYear = new Date().getFullYear();
append cosmetics
link(href="/calendrical/calendrical.css", rel="stylesheet")
script(src="/calendrical/cal.js", type="module")
mixin calendarRow(feast, isFirstOne = false)
tr
td.weekdays= "☉☽♂☿♃♀♄"[feast.attic.weekday]
td.gregorian
if feast.gregorian.endsWith("01")
strong!= grimm.date.ce("en", feast.gregorian).replace(/^([0-9]+) (.*?) 0?([123]?[0-9])$/, "$3 $2 $1")
else
| !{grimm.date.ce("en", feast.gregorian).replace(/^([0-9]+) (.*?) 0?([123]?[0-9])$/, "$3 $2 $1")}
td.attic
if feast.attic.signedDate == 1
strong!= grimm.date.attic("en", feast.gregorian)
else
| !{grimm.date.attic("en", feast.gregorian)}
td.holidays
| !{feast.feasts.en}
if isFirstOne && feast.gregorian.endsWith("11-05")
+sn(1)
mixin calendar(year, isFirstOne = false)
- const yearCal = annexe(year)
div.table-container.calendar
table
thead
tr
th Day
th Gregorian
th Attic
th Holiday
tbody
each day in yearCal
+calendarRow(day, isFirstOne)
block content
form#calendar-converter
strong#conv-atticDate Loading…
fieldset#conv-gregorian
legend Enter Gregorian date
#conv-gregorianGroup
input#conv-gregDay(type="number" name="gregDay" value="1" min="1" max="31")
|
select#conv-gregMonth(name="gregMonth")
option(value="1" selected) January
option(value="2") February
option(value="3") March
option(value="4") April
option(value="5") May
option(value="6") June
option(value="7") July
option(value="8") August
option(value="9") September
option(value="10") October
option(value="11") November
option(value="12") December
| ,
input#conv-gregYear(type="number" name="gregYear" value="1999" min="100")
fieldset#conv-settings
legend Settings
#conv-settingsGroup
.form-group
select#conv-monthNames(name="monthNames")
option(value="enLatinate" selected) Latinate (“Mæmacterion”)
option(value="enLiteral") Literal (“Maimaktēriōn”)
option(value="grc") Greek (“Μαιμακτηριῶνος”)
label(for="conv-monthNames") Month names
.form-group
input#conv-shortMonths(type="checkbox" name="shortMonths")
label(for="conv-shortMonths") Shorten month names?
.form-group
select#conv-daySystem(name="daySystem")
option(value="signed" selected) Traditional (1–20, then 10–1)
option(value="raw") Boring (1–30)
label(for="conv-daySystem") Days of the month
.form-group
select#conv-numSystem(name="numSystem")
option(value="greek" selected) Greek (α, β, γ, δ…)
option(value="arabic") Hindu–Arabic (1, 2, 3, 4…)
label(for="conv-numSystem") Numeral system
.form-group.greek-only
select#conv-numInd(name="numInd")
option(value="keraia" selected) Keraia (χπδʹ)
option(value="vinculum") Overline (#[span.overline χπδ])
label(for="conv-numInd") Indicator
.form-group.greek-only
input#conv-capNums(type="checkbox" name="capNums")
label(for="conv-capNums") Capitalise numerals?
.form-group.greek-only
select#conv-stigma(name="stigma")
option(value="0" selected) Ϝ ϝ
option(value="1") Ϛ ϛ
option(value="2") ΣΤ στ
label(for="conv-stigma") Glyph for 6
.form-group.greek-only
select#conv-qoppa(name="qoppa")
option(value="0" selected) Ϟ ϟ
option(value="1") Ϙ ϙ
label(for="conv-qoppa") Glyph for 90
.form-group
input#conv-olInd(type="checkbox" name="olInd")
label(for="conv-olInd") Include era marker? (Ol.)
.form-group
input#conv-weekdays(type="checkbox" name="weekdays")
label(for="conv-weekdays") Include weekday symbols? (♂, ☿, ♃…)
input(hidden name="lang" value="en")
p #[b.gregorian Gregorian:] Roman-derived Christian solar calendar now used secularly the world over. Days start at midnight. Months start on arbitrary dates, lasting 28–31 days each depending on the month. Years start on #[span.time 1 January], a few days after the northern winter solstice. A leap day, #[span.time 29 February], is added every four years, except for years which are divisible by 100 but not 400. Epoch a few years after the birth of Jesus of Nazareth; #[span.time Ol. ρϟδʹ.δʹ] in Attic. Numbers here written using Hindu-Arabic numerals.
p #[b.attic Attic:] Ancient Athenian lunisolar festival calendar now used liturgically by contemporary Hellenic Pagans. Days start at sunset. Months start on new moons, lasting 29–30 days each. On the twenty-first day of the month, dates start counting down from 9 instead of up, here marked with a #[span.time ☾] waning crescent moon. Years start on #[span.time αʹ He­ca­tom­bæon], the first new moon after the northern summer solstice. The month of Po­sei­deon is doubled in years with thirteen new moons. Epoch at first ancient Olympic games; #[span.time 776 #[+sc("BCE")]] in Gregorian. Numbers here written using Greek numerals; years here written as [#[i Olympiad]].[#[i Year]].
p #[b.holidays Holidays:] This column serves as a liturgical calendar of relevant Greek and Roman festivals. I’ve also included the solstices and equinoxes, as well as the #[span.time #[span.wiccan Wiccan] #[span.wiccan Wheel] #[span.wiccan of] #[span.wiccan the] #[span.wiccan Year]] (for the benefit of any avid syncretists reading), the occasional secular commemoration (such as Bonfire Night), and some #[span.time.christian Christian holidays] (seeing as the continent is 64% Christian, their calendar still holds quite some weight to the daily lives of even the most stridently secular Britons and Dutchfolk). #[span.time.attic Underlined festivals] are reckoned by the Attic calendar and last from sunset to sunset rather than midnight-to-midnight. Festivals marked with an #[span.time asterisk*] have had their precise occurrences lost in the fog of history, so their dates here are the result of some conjecture.
p All dates given have been calibrated for the north of England. They may be inaccurate for other regions, especially in the southern hemisphere, where the solstices and equinoxes are reversed.
+calendar(thisYear, true)
+sn(1)
p #[span.theonym Hermaphroditos] is a somewhat obscure God in the grand scheme of things; since They lack a “proper” festival day in Their name, i like to use the date i realised i was transgendered as a substitute.
details#nextYear
summary Next year…
+calendar(thisYear + 1, false)
div.table-container#olympiad-to-years
table
thead
tr: th(colspan="10") Notable olympiad correspondences
tr
th Olympiad
th Years
th O
th Y
th O
th Y
th O
th Y
th O
th Y
tbody
tr
td αʹ
td 776–772 #[+sc("BCE")]
td ρʹ
td 380–376 #[+sc("BCE")]
td σʹ
td 21–25 #[+sc("CE")]
td τʹ
td 421–25
td υʹ
td 821–25
tr
td φʹ
td 1221–25
td χʹ
td 1621–25
td χιʹ
td 1661–65
td χκʹ
td 1701–05
td χλʹ
td 1741–45
tr
td χμʹ
td 1781–85
td χνʹ
td 1821–25
td χξʹ
td 1861–65
td χοʹ
td 1901–05
td χπʹ
td 1941–45
tr
td χϟʹ
td 1981–85
td χϟαʹ
td 1985–89
td χϟβʹ
td 1989–93
td χϟγʹ
td 1993–97
td χϟδʹ
td 1997–2001
tr
td χϟεʹ
td 2001–05
td χϟϝʹ
td 2005–09
td χϟζʹ
td 2009–13
td χϟηʹ
td 2013–17
td χϟθʹ
td 2017–21
tr
td ψʹ
td 2021–25
td ψαʹ
td 2025–29
td ψβʹ
td 2029–33
td ψγʹ
td 2033–37
td ψδʹ
td 2037–41
tr
td ψεʹ
td 2041–45
td ψϝʹ
td 2045–49
td ψζʹ
td 2049–53
td ψηʹ
td 2053–57
td ψθʹ
td 2057–61