ddate — converts Gregorian dates to Discordian dates
ddate [+format] [date]
ddate prints the date in Discordian date format.
If called with no arguments, ddate will get the current system date, convert this to the Discordian date format and print this on the standard output. Alternatively, a Gregorian date may be specified on the command line, in the form of a numerical day, month and year.
If a format string is specified, the Discordian date will
be printed in a format specified by the string. This
mechanism works similarly to the format string mechanism of
date(1),
only
almost completely differently. The fields are:
%A
Full name of the day of the week (i.e., Sweetmorn)
%a
Abbreviated name of the day of the week (i.e., SM)
%B
Full name of the season (i.e., Chaos)
%b
Abbreviated name of the season (i.e., Chs)
%d
Ordinal number of day in season (i.e., 23)
%e
Cardinal number of day in season (i.e., 23rd)
%H
Name of current Holyday, if any
%N
Magic code to prevent rest of format from being printed unless today is a Holyday.
%n
Newline
%t
Tab
%X
Number of days remaining until X-Day. (Not valid if the SubGenius options are not compiled in.)
%{
%}
Used to enclose the part of the string which is to be replaced with the words "St. Tib's Day" if the current day is St. Tib's Day.
%.
Try it and see.
% ddate Sweetmorn, Bureaucracy 42, 3161 YOLD % ddate +'Today is %{%A, the %e of %B%}, %Y. %N%nCelebrate %H' Today is Sweetmorn, the 42nd of Bureaucracy, 3161. % ddate +"It's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 26 9 1995 It's Prickle-Prickle, the 50th of Bureaucracy, 3161. Celebrate Bureflux % ddate +"Today's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 29 2 1996 Today's St. Tib's Day, 3162.
ddate(1)
will
produce undefined behaviour if asked to produce the date for
St. Tib's day and its format string does not contain the St.
Tib's Day delimiters %{ and %}.
After `X-Day' passed without incident, the Church of the SubGenius declared that it had got the year upside down - X-Day is actually in 8661 AD rather than 1998 AD. Thus, the True X-Day is Cfn 40, 9827.