Table of Contents
hodie - Print current date and time... in Latin
hodie [ OPTION
]...
hodie prints out the current date using classic Latin, and
in addition also prints it out and time using Roman numerals.
- -h,
--help
- Print short help message with syntax
- -v, --verbose
- Print months and days
(pridie, Kalends, Nones, Ides) full and not the respective abbreviations
(standard mode of operation)
Two occurrences of -v as well as the use of
-vv or --extremely-verbose will include the numerals where applicable fully
declined, as in ’ante diem quintum Kalends Septembres’.
- -n, --numerals
- Don’t print
anything in Latin - only the date and time as Roman numerals.
- -x, --force-numerals
- Print
both the verbose latin and the date and time as Roman numerals.
- -c, --classic,
--auc
- Print the year in the classic manner ab urbe condita instead of the
more modern anno domini.
- -ad, --ante-diem
- Print the date expressing the number
of days to the next main day with the ante diem expression instead of ablative
case.
- -d, --date
- Print out any date. This has a rather special syntax, with a
keyword following the -d flag choosing input format. See section on DATE
INPUT below.
- -r, --republican OFFSET
- Print out the date dated ab urbe tua condita
with the offset counted in years as compared to the modern european kalendar
(originating with the hypothetical birth of christ). hodie -r -753 would be
equivalent with hodie -c
- --version
- Print out the version number of this release
and exit. No matter whether other options appear on the command line or
not.
Following the -d or the --date option flags, the first item
must be one of the following:
- verbose
- In this case, the year, month and
day are given by following the verbose keyword by the flags -y, --year, -m,
--month, -d, --day for year, month and date respectively
- ymd
- After this flag,
the date comes in the format YYYY-MM-DD , where the numbers may be separated
by any non-numeric character.
- dmy
- With this flag, the date is given as DD-MM-YYYY
- mdy
- With this flag, the date is given as MM-DD-YYYY Restrictions on the characters
that may replace the hyphen apply as above.
The story began on the
10. of August, 2000 (a.d. VI Id. Iul., MM). Having finished most of my assignment
for my two-month summer job at Ericsson Eurolab Deutschland, Nuremberg,
I was idling around on the Internet, and stumbled over the dotcomma-challenges
<http://www.dotcomma.org
> , where especially the Roman numeral challenge started
my mind.
Almost an hour hacking, and there it was, another hour, and the
language support was there. Before the night was over, I had written this
man page and had the layout of a decent Makefile drawn out mentally.
At
the end of the next day, I was so far that I actually had the workings
of RPM worked out, constructed a .rpm-package and a .src.rpm-package, which
was promptly released on my home-page, announced on freshmeat and uploaded
to metalab (apps/misc :-).
Response was quick and plentiful. By now, I have
compilation reports from Linux, FreeBSD and SCO Unixware 7; there are a
few compability issues to put aside, but it works surprisingly well.
hodie returns zero. Always. If it doesn’t, then something is really
bad with the code.
For some really unreadable code, this means that hodie
could be used as a strange replacement for true
It doesn’t sanity check
the input... telling hodie to display the roman form of the 99th of march
gives a slightly jumbled output, which most definitely does not make sense.
Reports are more than welcome (e-mail below).
Now, who would come
up with such a thing? Well, I’m Mikael Johansson, a rather all-round geek
from Stockholm. I’m gravely interested in languages, in computers and in
mathematics; a combination more dangerous than you might think.
E-mails
to <mikael.johansson@wineasy.se>
A double and triple grammar check (will
be done as soon as I start my university studies).
Check that it really
does display correctly for all dates.
Implement a complementary, ancient
Greek program :-)
Perhaps port/translate top, uptime, and other nice utilities
to Latin :-)
And, as always... Debugging debugging debugging!
date(1)
Table of Contents