xref: /freebsd/usr.bin/calendar/calendar.1 (revision 884a2a699669ec61e2366e3e358342dbc94be24a)
1.\" Copyright (c) 1989, 1990, 1993
2.\"     The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 4. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)calendar.1  8.1 (Berkeley) 6/29/93
29.\" $FreeBSD$
30.\"
31.Dd June 13, 2002
32.Dt CALENDAR 1
33.Os
34.Sh NAME
35.Nm calendar
36.Nd reminder service
37.Sh SYNOPSIS
38.Nm
39.Op Fl a
40.Op Fl A Ar num
41.Op Fl B Ar num
42.Op Fl F Ar friday
43.Op Fl f Ar calendarfile
44.Oo
45.Bk -words
46.Fl t Ar dd Ns
47.Sm off
48.Op . Ar mm Op . Ar year
49.Sm on
50.Ek
51.Oc
52.Op Fl W Ar num
53.Op Fl U Ar UTC-offset
54.Op Fl l Ar longitude
55.Sh DESCRIPTION
56The
57.Nm
58utility checks the current directory for a file named
59.Pa calendar
60and displays lines that begin with either today's date
61or tomorrow's.
62On the day before a weekend (normally Friday), events for the next
63three days are displayed.
64.Pp
65The following options are available:
66.Bl -tag -width Ds
67.It Fl A Ar num
68Print lines from today and the next
69.Ar num
70days (forward, future).
71.It Fl a
72Process the ``calendar'' files of all users and mail the results
73to them.
74This requires super-user privileges.
75.It Fl B Ar num
76Print lines from today and the previous
77.Ar num
78days (backward, past).
79.It Fl F Ar friday
80Specify which day of the week is ``Friday'' (the day before the
81weekend begins).
82Default is 5.
83.It Fl f Pa calendarfile
84Use
85.Pa calendarfile
86as the default calendar file.
87.It Xo Fl t
88.Sm off
89.Ar dd
90.Op . Ar mm Op . Ar year
91.Sm on
92.Xc
93For test purposes only: set date directly to argument values.
94.It Fl l Ar longitude , Fl U Ar UTC-offset
95Only one is needed:
96Perform lunar and solar calculations from this longitude or from
97this UTC offset.
98If neither is specified, the calculations will be based on the
99difference between UTC time and localtime.
100.It Fl W Ar num
101Print lines from today and the next
102.Ar num
103days (forward, future).
104Ignore weekends when calculating the number of days.
105.El
106.Sh FILE FORMAT
107.Pp
108To handle calendars in your national code table you can specify
109.Dq LANG=<locale_name>
110in the calendar file as early as possible.
111.Pp
112To handle the local name of sequences, you can specify them as:
113.Dq SEQUENCE=<first> <second> <third> <fourth> <fifth> <last>
114in the calendar file as early as possible.
115.Pp
116The names of the following special days are recognized:
117.Bl -tag -width 123456789012345 -compact
118.It Easter
119Catholic Easter.
120.It Paskha
121Orthodox Easter.
122.It NewMoon
123The lunar New Moon.
124.It FullMoon
125The lunar Full Moon.
126.It MarEquinox
127The solar equinox in March.
128.It JunSolstice
129The solar solstice in June.
130.It SepEquinox
131The solar equinox in September.
132.It DecSolstice
133The solar solstice in December.
134.It ChineseNewYear
135The first day of the Chinese year.
136.El
137These names may be reassigned to their local names via an assignment
138like
139.Dq Easter=Pasen
140in the calendar file.
141.Pp
142Other lines should begin with a month and day.
143They may be entered in almost any format, either numeric or as character
144strings.
145If the proper locale is set, national month and weekday
146names can be used.
147A single asterisk (``*'') matches every month.
148A day without a month matches that day of every week.
149A month without a day matches the first of that month.
150Two numbers default to the month followed by the day.
151Lines with leading tabs default to the last entered date, allowing
152multiple line specifications for a single date.
153.Pp
154The names of the recognized special days may be followed by a
155positive or negative integer, like:
156.Dq Easter+3
157or
158.Dq Paskha-4 .
159.Pp
160Weekdays may be followed by ``-4'' ...\& ``+5'' (aliases for
161last, first, second, third, fourth) for moving events like
162``the last Monday in April''.
163.Pp
164By convention, dates followed by an asterisk are not fixed, i.e., change
165from year to year.
166.Pp
167Day descriptions start after the first <tab> character in the line;
168if the line does not contain a <tab> character, it is not displayed.
169If the first character in the line is a <tab> character, it is treated as
170a continuation of the previous line.
171.Pp
172The ``calendar'' file is preprocessed by
173.Xr cpp 1 ,
174allowing the inclusion of shared files such as lists of company holidays or
175meetings.
176If the shared file is not referenced by a full pathname,
177.Xr cpp 1
178searches in the current (or home) directory first, and then in the
179directory
180.Pa /usr/share/calendar .
181Empty lines and lines protected by the C commenting syntax
182.Pq Li /* ... */
183are ignored.
184.Pp
185Some possible calendar entries (<tab> characters highlighted by
186\fB\et\fR sequence)
187.Bd -unfilled -offset indent
188LANG=C
189Easter=Ostern
190
191#include <calendar.usholiday>
192#include <calendar.birthday>
193
1946/15\fB\et\fRJune 15 (if ambiguous, will default to month/day).
195Jun. 15\fB\et\fRJune 15.
19615 June\fB\et\fRJune 15.
197Thursday\fB\et\fREvery Thursday.
198June\fB\et\fREvery June 1st.
19915 *\fB\et\fR15th of every month.
2002010/4/15\fB\et\fR15 April 2010
201
202May Sun+2\fB\et\fRsecond Sunday in May (Muttertag)
20304/SunLast\fB\et\fRlast Sunday in April,
204\fB\et\fRsummer time in Europe
205Easter\fB\et\fREaster
206Ostern-2\fB\et\fRGood Friday (2 days before Easter)
207Paskha\fB\et\fROrthodox Easter
208
209.Ed
210.Sh FILES
211.Bl -tag -width calendar.christian -compact
212.It Pa calendar
213file in current directory
214.It Pa ~/.calendar
215.Pa calendar
216HOME directory.
217A chdir is done into this directory if it exists.
218.It Pa ~/.calendar/calendar
219calendar file to use if no calendar file exists in the current directory.
220.It Pa ~/.calendar/nomail
221do not send mail if this file exists.
222.El
223.Pp
224The following default calendar files are provided in
225.Pa /usr/share/calendars:
226.Pp
227.Bl -tag -width calendar.southafrica -compact
228.It Pa calendar.all
229File which includes all the default files.
230.It Pa calendar.australia
231Calendar of events in Australia.
232.It Pa calendar.birthday
233Births and deaths of famous (and not-so-famous) people.
234.It Pa calendar.christian
235Christian holidays.
236This calendar should be updated yearly by the local system administrator
237so that roving holidays are set correctly for the current year.
238.It Pa calendar.computer
239Days of special significance to computer people.
240.It Pa calendar.croatian
241Calendar of events in Croatia.
242.It Pa calendar.dutch
243Calendar of events in the Netherlands.
244.It Pa calendar.freebsd
245Birthdays of
246.Fx
247committers.
248.It Pa calendar.french
249Calendar of events in France.
250.It Pa calendar.german
251Calendar of events in Germany.
252.It Pa calendar.history
253Everything else, mostly U.S.\& historical events.
254.It Pa calendar.holiday
255Other holidays, including the not-well-known, obscure, and
256.Em really
257obscure.
258.It Pa calendar.judaic
259Jewish holidays.
260The entries for this calendar have been obtained from the port
261deskutils/hebcal.
262.It Pa calendar.music
263Musical events, births, and deaths.
264Strongly oriented toward rock 'n' roll.
265.It Pa calendar.newzealand
266Calendar of events in New Zealand.
267.It Pa calendar.russian
268Russian calendar.
269.It Pa calendar.southafrica
270Calendar of events in South Africa.
271.It Pa calendar.usholiday
272U.S.\& holidays.
273This calendar should be updated yearly by the local system administrator
274so that roving holidays are set correctly for the current year.
275.It Pa calendar.world
276Includes all calendar files except for national files.
277.El
278.Sh COMPATIBILITY
279The
280.Nm
281program previously selected lines which had the correct date anywhere
282in the line.
283This is no longer true, the date is only recognized when it occurs
284at the beginning of a line.
285.Sh SEE ALSO
286.Xr at 1 ,
287.Xr cpp 1 ,
288.Xr mail 1 ,
289.Xr cron 8
290.Sh HISTORY
291A
292.Nm
293command appeared in
294.At v7 .
295.Sh NOTES
296Chinese New Year is calculated at 120 degrees east of Greenwich,
297which roughly corresponds with the east coast of China.
298For people west of China, this might result that the start of Chinese
299New Year and the day of the related new moon might differ.
300.Pp
301The phases of the moon and the longitude of the sun are calculated
302against the local position which corresponds with 30 degrees times
303the time-difference towards Greenwich.
304.Pp
305The new and full moons are happening on the day indicated: They
306might happen in the time period in the early night or in the late
307evening.
308It doesn't indicate that they are starting in the night on that date.
309.Pp
310Because of minor differences between the output of the formulas
311used and other sources on the Internet, Druids and Werewolves should
312double-check the start and end time of solar and lunar events.
313.Sh BUGS
314The
315.Nm
316utility does not handle Jewish holidays.
317.Pp
318There is no possibility to properly specify the local position
319needed for solar and lunar calculations.
320