Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,48 @@
|
|||
on gregorianToDiscordian(inputDate) -- Input: AppleScript date object.
|
||||
(*
|
||||
Discordian years are aligned with, and the same length as, Gregorian years.
|
||||
Each has 73 5-day weeks and 5 73-day seasons. (73 * 5 = 365.)
|
||||
The first day of a Discordian year is also that of its first week and first season.
|
||||
In leap years, an extra day called "St. Tib's Day", is inserted between days 59 and 60.
|
||||
It's considered to be outside the calendar, so the day after it is Setting Orange, Chaos 60,
|
||||
not Sweetmorn, Chaos 61. Year 1 YOLD is 1166 BC, but this handler takes an AS date object
|
||||
as its input and is only good for AD Gregorian dates. Since the Discordian calendar's an
|
||||
American invention, the output here's in the US style: "Weekday, Season day, year".
|
||||
*)
|
||||
-- Calculate the input date's day-of-year number.
|
||||
copy inputDate to startOfYear
|
||||
tell startOfYear to set {its day, its month} to {1, January}
|
||||
set dayOfYear to (inputDate - startOfYear) div days + 1
|
||||
|
||||
-- If it's a leap year, special-case St. Tib's Day, or adjust the day-of-year number if the day comes after that.
|
||||
set y to inputDate's year
|
||||
if ((y mod 4 is 0) and ((y mod 100 > 0) or (y mod 400 is 0))) then
|
||||
if (dayOfYear is 60) then
|
||||
set dayOfYear to "St. Tib's Day"
|
||||
else if (dayOfYear > 60) then
|
||||
set dayOfYear to dayOfYear - 1
|
||||
end if
|
||||
end if
|
||||
|
||||
-- Start the output text with either "St. Tib's Day" or the weekday, season, and day-of-season number.
|
||||
if (dayOfYear is "St. Tib's Day") then
|
||||
set outputText to dayOfYear
|
||||
else
|
||||
tell dayOfYear - 1
|
||||
set dayOfWeek to it mod 5 + 1
|
||||
set seasonNumber to it div 73 + 1
|
||||
set dayOfSeason to it mod 73 + 1
|
||||
end tell
|
||||
set theWeekdays to {"Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange"}
|
||||
set theSeasons to {"Chaos ", "Discord ", "Confusion ", "Bureaucracy ", "The Aftermath "}
|
||||
set outputText to (item dayOfWeek of theWeekdays) & ", " & (item seasonNumber of theSeasons) & dayOfSeason
|
||||
end if
|
||||
|
||||
-- Append the Discordian year number and return the result.
|
||||
return outputText & ", " & (y + 1166)
|
||||
end gregorianToDiscordian
|
||||
|
||||
set ASDate to (current date)
|
||||
set gregorianDate to ASDate's date string
|
||||
set discordianDate to gregorianToDiscordian(ASDate)
|
||||
return {Gregorian:gregorianDate, Discordian:discordianDate}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{Gregorian:"Saturday 5 December 2020", Discordian:"Prickle-Prickle, The Aftermath 47, 3186"}
|
||||
Loading…
Add table
Add a link
Reference in a new issue