CALENDAR(1)

NAME
calendar - reminder service

SYNOPSIS
calendar [-a] [-A num] [-B num] [-f calendarfile] [-t dd [.mm[.year]]] [-l days] [-w days]

DESCRIPTION
Calendar checks the current directory for a file named calendar and displays lines that begin with either today's date or tomorrow's. On Fridays, events on Friday through Monday are displayed. If there is no configuration file in the current directory, /etc/calendar/default is used (if present).

The following options are available:

-a  Process the ``calendar'' files of all users and mail the results to them. This requires super-user privileges.

-A num
    Print lines from today and the next num days (forward, future).

-B num
    Print lines from today and the previous num days (backward, past).

-f calendarfile
    Use calendarfile as the default calendar file.

-t  dd [.mm[.year]] For test purposes only: set date directly to argument values.

-l days
    Causes the program to ``look ahead'' a given number of days (default one) from the specified date and display their entries as well.

-w days
    Causes the program to add the specified number of days to the ``look ahead'' number if and only if the day specified is a Friday. The default value is two, which causes calendar to print entries through the weekend on Fridays.

To handle calendars in your national code table you can specify “LANG=<locale_name>” in the calendar file as early as possible. To handle national Easter names in the calendars “Easter=<national_name>” (for Catholic Easter) or “Paskha=<national_name>” (for Orthodox Easter) can be used.

Other lines should begin with a month and day. They may be entered in almost any format, either numeric or as character strings. If the proper locale is set, national month and weekday names can be used. A single asterisk (``*'') matches every month. A day without a month matches that day of every week. A month without a day matches the first of that month. Two numbers default to the month followed by the day. Lines with leading tabs default to the last entered date, allowing multiple line specifications for a single date.

``Easter'', is Easter for this year, and may be followed by a positive or negative integer.

``Paskha'', is Orthodox Easter for this year, and may be followed by a positive or negative integer.

Weekdays may be followed by ``-4'' ... ``+5'' (aliases for last, first, second, third, fourth) for moving events like ``the last Monday in April''

By convention, dates followed by an asterisk are not fixed, i.e., change from year to year.

Day descriptions start after the first <tab> character in the line; if the line does not contain a <tab> character, it is not displayed. If the first character in the line is a <tab> character, it is treated as a continuation of the previous line.

The ``calendar'' file is preprocessed by cpp(1), allowing the inclusion of shared files such as lists of company holidays or meetings. If the shared file is not referenced by a full pathname, cpp(1) searches in the current (or home) directory first, and then in the directory /etc/calendar/<yearnum>, then in /etc/calendar, then in /usr/share/calendar/<yearnum> and finally in /usr/share/calendar. Empty lines and lines protected by the C commenting syntax (/* ... */) are ignored.

Some possible calendar entries (<tab> characters highlighted by \t sequence)

    LANG=C
    Easter=Ostern
    #include <calendar.usholiday>
    #include <calendar.birthday>
    6/15\tJune 15 (if ambiguous, will default to month/day).
    Jun. 15\tJune 15.
    15 June\tJune 15.
    Thursday\tEvery Thursday.
    June\tEvery June 1st.
    15 *\t15th of every month.
    May Sun+2\tsecond Sunday in May (Muttertag)
    04/SunLast\tlast Sunday in April,
    \tsummer time in Europe
    Easter\tEaster
    Ostern-2\tGood Friday (2 days before Easter)
    Paskha\tOrthodox Easter

FILES
calendar
    file in current directory
~/calendar
    file in $HOME
~/.calendar
    calendar HOME directory. calendar does a chdir into this directory if it exists.
~/.calendar/calendar
    calendar file to use if no calendar file exists in the current directory.
~/.calendar/nomail
    do not send mail if this file exists.

The following default calendar files are provided:

calendar.birthday
    Births and deaths of famous (and not-so-famous) people.
calendar.christian
    Christian holidays. This calendar should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year.
calendar.computer
    Days of special significance to computer people.
calendar.freebsd
    Birthdays of FreeBSD committers.
calendar.history
    Everything else, mostly U.S. historical events.
calendar.holiday
    Other holidays, including the not-well-known, obscure, and really obscure.
calendar.judaic
    Jewish holidays. This calendar should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year.
calendar.discordian
    Discordian holidays.
calendar.music
    Musical events, births, and deaths. Strongly oriented toward rock 'n' roll.
calendar.usholiday
    U.S. holidays. This calendar should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year.
calendar.german
    German calendar.
calendar.russian
    Russian calendar.
calendar.croatian
    Croatian calendar.
calendar.hindu
    Major Hindu holidays. This calendar should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year.
default
    The system-wide default, which #includes all the previous calendars.

SEE ALSO
at(1), cpp(1), mail(1), cron(8)

COMPATIBILITY
The calendar program previously selected lines which had the correct date anywhere in the line. This is no longer true, the date is only recognized when it occurs at the beginning of a line.

Having a directory per year is a Debian-specific improvement over the standard BSD calendar.

Older calendar releases distributed with Debian supported the -t option which has been superseded by the -A and -B options and the ~/.calendar file which has been superseded by the ~/.calendar directory.

HISTORY
A calendar command appeared in AT&T UNIX.

BUGS
Calendar doesn't handle Jewish holidays and moon phases. The -A and -l options do very similar things.