The calendar of the discordians has 5 seasons, of 73 days each. Each week has 5 days. There are 5 Apostle holydays and 5 Season holydays, one per season. St. Tib's Day occurs once every 4 years.

Happily January 1 is the same day as Chaos 1, so one can easily map Julian dates to discordian dates. (1991 Julian = 3157 Discordian, the next St. Tibs Day is in 3158)

Everything Time

PERPETUAL DATE CONVERTER
from GREGORIAN to POEE CALENDAR

Seasons

  1. Chaos - Patron Apostle Hung Mung
  2. Discord - Patron Apostle Dr. Van Van Mojo
  3. Confusion - Patron Apostle Sri Syadasti
  4. Bureaucracy - Patron Apostle Zarathud
  5. The Aftermath - Patron Apostle The Elder Malaclypse

Days of the Week*

  1. Sweetmorn
  2. Boomtime
  3. Pungenday
  4. Prickle-Prickle
  5. Setting Orange
(* The days of the week are named from the five Basic Elements: sweet, boom, pungent, prickle, and orange.)

HOLYDAYS
A) APOSTLE HOLYDAYS                             B) SEASON HOLYDAYS
   1) Mungday                                      1) Chaoflux
   2) Mojoday                                      2) Discoflux
   3) Syaday                                       3) Confuflux
   4) Zaraday                                      4) Bureflux
   5) Maladay                                      5) Afflux
Each occurs on the 5th                          Each occurs on the 50th
day of the Season                               day of each Season
 
C) ST. TIB'S DAY - occurs once every 4 years (1+4=5) and is inserted
between the 59th and 60th days of the Season of Chaos. TIBMAS, on the
other hand, is celebrated on the 37th day of the Season of Confusion.
 
 
                    SM BT PD PP SO                          SM BT PD PP SO
                    -- -- -- -- --                         -- -- -- -- --
Jan  1  2  3  4  5   1  2  3  4  5 Chs Jul  5  6  7  8  9  40 41 42 43 44 Cfn
     6  7  8  9 10   6  7  8  9 10         10 11 12 13 14  45 46 47 48 49
    11 12 13 14 15  11 12 13 14 15         15 16 17 18 19  50 51 52 53 54
    16 17 18 19 20  16 17 18 19 20         20 21 22 23 24  55 56 57 58 59
    21 22 23 24 25  21 22 23 24 25         25 26 27 28 29  60 61 62 63 64
    26 27 28 29 30  26 27 28 29 30         30 31  1  2  3  65 66 67 68 69
    31  1  2  3  4  31 32 33 34 35     Aug  4  5  6  7  8  70 71 72 73  1 Bcy
Feb  5  6  7  8  9  36 37 38 39 40          9 10 11 12 13   2  3  4  5  6
    10 11 12 13 14  41 42 43 44 45         14 15 16 17 18   7  8  9 10 11
    15 16 17 18 19  46 47 48 49 50         19 20 21 22 23  12 13 14 15 16
    20 21 22 23 24  51 52 53 54 55         24 25 26 27 28  17 18 19 20 21
    25 26 27 28* 1  56 57 58 59 60         29 30 31  1  2  22 23 24 25 26
Mar  2  3  4  5  6  61 62 63 64 65     Sep  3  4  5  6  7  27 28 29 30 31
     7  8  9 10 11  66 67 68 69 70          8  9 10 11 12  32 33 34 35 36
    12 13 14 15 16  71 72 73  1  2 Dsc     13 14 15 16 17  37 38 39 40 41
    17 18 19 20 21   3  4  5  6  7         18 19 20 21 22  42 43 44 45 46
    22 23 24 25 26   8  9 10 11 12         23 24 25 26 27  47 48 49 50 51
    27 28 29 30 31  13 14 15 16 17         28 29 30  1  2  52 53 54 55 56
Apr  1  2  3  4  5  18 19 20 21 22     Oct  3  4  5  6  7  57 58 59 60 61
     6  7  8  9 10  23 24 25 26 27          8  9 10 11 12  62 63 64 65 66
    11 12 13 14 15  28 29 30 31 32         13 14 15 16 17  67 68 69 70 71
    16 17 18 19 20  33 34 35 36 37         18 19 20 21 22  72 73  1  2  3 Afm
    21 22 23 24 25  38 39 40 41 42         23 24 25 26 27   4  5  6  7  8
    26 27 28 29 30  43 44 45 46 47         28 29 30 31  1   9 10 11 12 13
May  1  2  3  4  5  48 49 50 51 52     Nov  2  3  4  5  6  14 15 16 17 18
     6  7  8  9 10  53 54 55 56 57          7  8  9 10 11  19 20 21 22 23
    11 12 13 14 15  58 59 60 61 62         12 13 14 15 16  24 25 26 27 28
    16 17 18 19 20  63 64 65 66 67         17 18 19 20 21  29 30 31 32 33
    21 22 23 24 25  68 69 70 71 72         22 23 24 25 26  34 35 36 37 38
    26 27 28 29 30  73  1  2  3  4 Cfn     27 28 29 30  1  39 40 41 42 43
    31  1  2  3  4   5  6  7  8  9     Dec  2  3  4  5  6  44 45 46 47 48
Jun  5  6  7  8  9  10 11 12 13 14          7  8  9 10 11  49 50 51 52 53
    10 11 12 13 14  15 16 17 18 19         12 13 14 15 16  54 55 56 57 58
    15 16 17 18 19  20 21 22 23 24         17 18 19 20 21  59 60 61 62 63
    20 21 22 23 24  25 26 27 28 29         22 23 24 25 26  64 65 66 67 68
    25 26 27 28 29  30 31 32 33 34         27 28 29 30 31  69 70 71 72 73
    30  1  2  3  4  35 36 37 38 39  (2024 = 3190) (Next Saint Tibs' Day in 3194)


--><--


Omnia Discordia
Principia Discordia - 00034

Today is Pungenday, the 10th day of Discord in the Year of our Lady of Discord 3186

 

People occasionally ask me about my religious beliefs, and in the list that I trot out is Discordianism. I've often said that if someone put a gun to my head and said "pick a religion", it'd be Judaism, because everything's laid out right there in writing for all to see. But in the background, in my hidden heart, I'd be Discordian. It's partly my anarchistic tendencies, partly for the culture jamming that goes along with Operation Mindfuck, possibly just my bloody-minded contrarianism. So I'm a Discordian socialist anarcho-syndicalist, Taoist-Buddist Pagan Jew (in other words, a Buddhist Taoist anarchistic paganistic Jewboy).

The Discordian date is a peculiarity, one of the odd things that has somehow become important to me. One of the sillier things I have on my computer is a little command line toy called ddate, which gives me the Date. Being the silly geek that I am, it's also displayed prominently on my desktop (which for added Geek Points, is of course Linux) via Conky. It makes me happy for a wide variety of reasons.

The fact that I've the Discordian date visible on my computer rather than the Jewish one tells me which is uppermost. It's a reminder to me that I tend to take myself too seriously. It's the reason I've come back to E2, as well. This place is still for me a surreal Hitch Hikers Guide to the Galaxy, an odd mix of opinions, journals, poetry and fact that is how I imagine the world's blog would look like.

Then there's the odd way that time works for me now. Years flee behind me like rats down a drainpipe, but each day is long and rich and turgid with possibility, and having an odd calendar also calls that to mind. Time is telescoping as I grow older, but when I was a child, time crawled by; summers were years long. I suspect that this is the Universe, toying with me. Possibly Eris herself, Goddess of Discord, plays this game with us mere humans. The carousel gets faster the longer you're on it.


I recall a poem I read as a child that encompassed the passing of time with time, in an anthology of children's verse. Quite a thing to have in a book of poems at the age of seven, mortality and existentialism, but it had an impact then and it does now.

When as a child I laughed and wept,
Time crept.
When as a youth I waxed more bold,
Time strolled.
When I became a full grown man,
Time ran.
When older still I daily grew,
Time flew.
Soon I shall find, in passing on,
Time gone.
O Christ! wilt Thou have saved me then?
Amen.

  —Henry Twells Time's Paces

Somewhere in storage I still have that book; one day I will despair of not having it in hand, and dig it out. But today is not that day. Today is for the golden apple that is the sun, and throwing myself headlong into country life, the Spring and the indulging of my inordinate fondness for beetles.

Hail, Eris!

 

Damnit, turgid is such a great word.


Post scriptum I should add a detail to clarify chaosdiscord's comment in the first writeup here: Saint Tibs' Day is an intercalary day added in the standard leap year; in other words, it's the 29th of February.



xclip -o | wc -w
575

ddate | cowsay
 ________________________________________ 
/ Today is Prickle-Prickle, the 21st day \
\ of Discord in the YOLD 3190            /
 ---------------------------------------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

I've a Bash script that should also run in Windows' WSL:

#!/bin/bash

# Discordian Calendar definitions
seasons=("Chaos" "Discord" "Confusion" "Bureaucracy" "The Aftermath")
day_names=("Sweetmorn" "Boomtime" "Pungenday" "Prickle-Prickle" "Setting Orange")
apostle_holidays=("St. Tib's Day" "Mungday" "Mojoday" "Syaday" "Zaraday")

# Function to determine if a year is a leap year
is_leap_year() {
    local year=$1
    (( !(year % 4) && (year % 100 || !(year % 400)) ))
}

# Function to calculate the day of the year
day_of_year() {
    local date=$1
    date -d "$date" +%j
}

# Function to convert Gregorian to Discordian date
gregorian_to_discordian() {
    local date=$1
    local year=$(date -d "$date" +%Y)
    local month=$(date -d "$date" +%m)
    local day=$(date -d "$date" +%d)

    # Calculate day of the year
    local day_of_year=$(day_of_year "$date")

    # Discordian year is Gregorian year + 1166
    local discordian_year=$((year + 1166))

    # Handle St. Tib's Day (leap year)
    if ; then
        echo "Today is St. Tib's Day in the year of Our Lady of Discord $discordian_year."
        return
    fi

    # Adjust for leap year
    if ; then
        ((day_of_year--))
    fi

    # Determine the season and day within the season
    local season_index=$(( (day_of_year - 1) / 73 ))
    local season_day=$(( (day_of_year - 1) % 73 + 1 ))
    local day_name_index=$(( (day_of_year - 1) % 5 ))

    local season=${seasons$season_index}
    local day_name=${day_names$day_name_index}
    local apostle_holiday=${apostle_holidays$season_index}

    echo "Today is $day_name, the $season_day${suffix} day of $season in the year of Our Lady of Discord $discordian_year."

    # Check for Apostle Holidays
    if (( season_day == 5 || season_day == 50 )); then
        echo "Also, today is $apostle_holiday."
    fi
}

# Get the current date if no date is provided
if  -z "$1" ; then
    date=$(date +%Y-%m-%d)
else
    date=$1
fi

# Convert and display the Discordian date
gregorian_to_discordian "$date"

Here, have a Python script to display today's date (works in 3.9):
import datetime

def get_discordian_date():
    # Get the current date
    current_date = datetime.date.today()

    # Calculate the Discordian date
    year_offset = 1166
    day_of_year = current_date.timetuple().tm_yday
    year_of_era = current_date.year + year_offset
    day_of_week = current_date.weekday()

    discordian_day = (day_of_year % 5) + 1
    discordian_season = (day_of_year // 73) + 1
    discordian_year = year_of_era
    discordian_weekday = (day_of_week % 5) + 1

    # Define names for days and seasons
    days = ["Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange"]
    seasons = ["Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath"]

    # Format and return the Discordian date
    return "{}, {} {} YOLD".format(days[discordian_day - 1], seasons[discordian_season - 1], discordian_year)

# Display the Discordian date
print("Today's Discordian date is:", get_discordian_date())

Just for increased nuttiness, in Rockstar:

Midnight takes your heart and your soul
While your heart is as high as your soul
Put your heart without your soul into your heart

Listen to your heart

Give back your heart

Let the day be as high as the remainder of the year divided by 5
Let the year be as high as the sum of the current year and 1166

Say "Today's Discordian date is: " without newline

Listen to the day
Whisper "Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange"
Say the last whisper without newline

Let the season be as high as the remainder of the year divided by 73
Whisper "Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath"
Say the last whisper without newline

Say the year
Say " YOLD"

FOr you poor souls on WIndows, in C:

#include 
#include 
#include 
#include 

// Define the seasons and day names
const char *seasons = {
    "Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath"
};

const char *day_names = {
    "Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange"
};

// Check if a year is a leap year
int is_leap_year(int year) {
    if (year % 4 == 0) {
        if (year % 100 == 0) {
            if (year % 400 == 0) {
                return 1;
            }
            return 0;
        }
        return 1;
    }
    return 0;
}

// Calculate the Discordian date
void calculate_discordian_date(int day, int month, int year, char *result) {
    int days_in_year = (is_leap_year(year)) ? 366 : 365;
    int month_days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    if (is_leap_year(year)) month_days1 = 29;

    int day_of_year = 0;
    for (int i = 0; i < month - 1; ++i) {
        day_of_year += month_daysi;
    }
    day_of_year += day;

    // Discordian year is the same as the Gregorian year
    int discordian_year = year + 1166;

    // Adjust for leap year if necessary
    if (is_leap_year(year) && day_of_year > 59) {
        day_of_year -= 1;
    }

    // Calculate season and day of season
    int season = (day_of_year - 1) / 73;
    int day_of_season = (day_of_year - 1) % 73;

    // Calculate day of the week
    int day_of_week = day_of_year % 5;

    // Handle St. Tib's Day (February 29th in a leap year)
    if (is_leap_year(year) && month == 2 && day == 29) {
        snprintf(result, 256, "St. Tib's Day, Year of Our Lady of Discord %d", discordian_year);
        return;
    }

    snprintf(result, 256, "%s, %s %d, Year of Our Lady of Discord %d",
             day_namesday_of_week, seasonsseason, day_of_season + 1, discordian_year);
}

int main(int argc, char *argv) {
    if (argc != 4) {
        fprintf(stderr, "Usage: %s   \n", argv0);
        return 1;
    }

    int day = atoi(argv1);
    int month = atoi(argv2);
    int year = atoi(argv3);

    char discordian_date256;
    calculate_discordian_date(day, month, year, discordian_date);

    printf("Discordian date: %s\n", discordian_date);

    return 0;
}

Compiling and running this is left as an exercise for the poor reader. Serve you right, Windows users :þ

And lastly, for laughs, LOLCODE:

HAI 1.2

I HAS A DAY_ITZ
I HAS A SEASON_ITZ
I HAS A YEAR_ITZ

DAY_ITZ R MOD OF YEAR AN 5
SEASON_ITZ R QUOSHUNT OF YEAR AN 73
YEAR_ITZ R SUM OF 1166 AN YEAR

VISIBLE "Today's Discordian date is: "
  I HAS A DAY_NAMES
  DAY_NAMES IS NOW A BUCKET
    1 YR "Sweetmorn"
    2 YR "Boomtime"
    3 YR "Pungenday"
    4 YR "Prickle-Prickle"
    5 YR "Setting Orange"
  VISIBLE DAY_NAMES DAY_ITZ

  I HAS A SEASON_NAMES
  SEASON_NAMES IS NOW A BUCKET
    1 YR "Chaos"
    2 YR "Discord"
    3 YR "Confusion"
    4 YR "Bureaucracy"
    5 YR "The Aftermath"
  VISIBLE SEASON_NAMES SEASON_ITZ

VISIBLE YEAR_ITZ " YOLD"

KTHXBYE


Log in or register to write something here or to contact authors.