CALENDAR(1) BSD General Commands Manual CALENDAR(1)
calendar -- reminder service
calendar [-A num] [-a] [-B num] [-D moon|sun] [-d] [-F friday] [-f calendarfile] [-l longitude] [-t dd[.mm[.year]]] [-U UTC-offset] [-W num]
The calendar utility checks the current directory for a file named calendar and displays lines that fall into the specified date range. On
the day before a weekend (normally Friday), events for the next three days are displayed.
The following options are available:
-A num Print lines from today and the next num days (forward, future).
-a Process the ``calendar'' files of all users and mail the results to them. This requires super-user privileges.
-B num Print lines from today and the previous num days (backward, past).
Print UTC offset, longitude and moon or sun information.
-d Debug option: print current date information.
Specify which day of the week is ``Friday'' (the day before the weekend begins). Default is 5.
Use calendarfile as the default calendar file.
Perform lunar and solar calculations from this longitude. If neither longitude nor UTC offset is specified, the calculations will be
based on the difference between UTC time and localtime. If both are specified, UTC offset overrides longitude.
For test purposes only: set date directly to argument values.
Perform lunar and solar calculations from this UTC offset. If neither UTC offset nor longitude is specified, the calculations will
be based on the difference between UTC time and localtime. If both are specified, UTC offset overrides longitude.
-W num Print lines from today and the next num days (forward, future). Ignore weekends when calculating the number of days.
To handle calendars in your national code table you can specify ``LANG=<locale_name>'' in the calendar file as early as possible.
To handle the local name of sequences, you can specify them as: ``SEQUENCE=<first> <second> <third> <fourth> <fifth> <last>'' in the calendar
file as early as possible.
The names of the following special days are recognized:
Easter Catholic Easter.
Paskha Orthodox Easter.
NewMoon The lunar New Moon.
FullMoon The lunar Full Moon.
MarEquinox The solar equinox in March.
JunSolstice The solar solstice in June.
SepEquinox The solar equinox in September.
DecSolstice The solar solstice in December.
ChineseNewYear The first day of the Chinese year.
These names may be reassigned to their local names via an assignment like ``Easter=Pasen'' in the calendar file.
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.
The names of the recognized special days may be followed by a positive or negative integer, like: ``Easter+3'' or ``Paskha-4''.
Weekdays may be followed by ``-4'' ... ``+5'' (aliases for last, first, second, third, fourth) for moving events like ``the last Monday in
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 a limited subset of cpp(1) internally, allowing the inclusion of shared files such as lists of company
holidays or meetings. This limited subset consists of #include #ifndef #endif and #define. If the shared file is not referenced by a full
pathname, calendar(1) searches in the current (or home) directory first, and then in the directory /usr/share/calendar. Empty lines and
lines protected by the C commenting syntax (/* ... */) are ignored.
Some possible calendar entries (<tab> characters highlighted by sequence)
6/15 June 15 (if ambiguous, will default to month/day).
Jun. 15 June 15.
15 June June 15.
Thursday Every Thursday.
June Every June 1st.
15 * 15th of every month.
2010/4/15 15 April 2010
May Sun+2 second Sunday in May (Muttertag)
04/SunLast last Sunday in April,
summer time in Europe
Ostern-2 Good Friday (2 days before Easter)
Paskha Orthodox Easter
calendar file in current directory.
~/.calendar calendar HOME directory. A chdir is done into this directory if it exists.
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 in /usr/share/calendar:
calendar.all File which includes all the default files.
calendar.australia Calendar of events in Australia.
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.croatian Calendar of events in Croatia.
calendar.dutch Calendar of events in the Netherlands.
calendar.freebsd Birthdays of FreeBSD committers.
calendar.french Calendar of events in France.
calendar.german Calendar of events in Germany.
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. The entries for this calendar have been obtained from the port deskutils/hebcal.
calendar.music Musical events, births, and deaths. Strongly oriented toward rock 'n' roll.
calendar.newzealand Calendar of events in New Zealand.
calendar.russian Russian calendar.
calendar.southafrica Calendar of events in South Africa.
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.world Includes all calendar files except for national files.
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.
at(1), cpp(1), mail(1), cron(8)
A calendar command appeared in Version 7 AT&T UNIX.
Chinese New Year is calculated at 120 degrees east of Greenwich, which roughly corresponds with the east coast of China. For people west of
China, this might result that the start of Chinese New Year and the day of the related new moon might differ.
The phases of the moon and the longitude of the sun are calculated against the local position which corresponds with 30 degrees times the
time-difference towards Greenwich.
The new and full moons are happening on the day indicated: They might happen in the time period in the early night or in the late evening.
It does not indicate that they are starting in the night on that date.
Because of minor differences between the output of the formulas used and other sources on the Internet, Druids and Werewolves should double-
check the start and end time of solar and lunar events.
The calendar internal cpp does not correctly do #ifndef and will discard the rest of the file if a #ifndef is triggered. It also has a maxi-
mum of 50 include file and/or 100 #defines and only recognises #include, #define and #ifndef.
There is no possibility to properly specify the local position needed for solar and lunar calculations.
April 6, 2013 BSD