NAME
hodie - Print current date and time... in Latin
SYNOPSIS
hodie [ OPTION ]...
DESCRIPTION
hodie prints out the current date using
classic Latin, and in addition also prints it out and time using
Roman numerals.
OPTIONS
- -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.
DATE INPUT
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.
HISTORY
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 < ,
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.
RETURN VALUES
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
BUGS
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).
AUTHOR
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 <
TODO
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!
SEE ALSO
date(1)