xref: /freebsd/usr.bin/ncal/ncal.1 (revision 81ad6265)
1.\" Copyright (c) 1997 Wolfgang Helbig
2.\" 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.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd March 7, 2019
28.Dt CAL 1
29.Os
30.Sh NAME
31.Nm cal ,
32.Nm ncal
33.Nd displays a calendar and the date of Easter
34.Sh SYNOPSIS
35.Nm
36.Op Fl 3hjy
37.Op Fl A Ar number
38.Op Fl B Ar number
39.Oo
40.Op Ar month
41.Ar year
42.Oc
43.Nm
44.Op Fl 3hj
45.Op Fl A Ar number
46.Op Fl B Ar number
47.Fl m Ar month
48.Op Ar year
49.Nm ncal
50.Op Fl 3hjJpwy
51.Op Fl A Ar number
52.Op Fl B Ar number
53.Op Fl s Ar country_code
54.Oo
55.Op Ar month
56.Ar year
57.Oc
58.Nm ncal
59.Op Fl 3hJeo
60.Op Fl A Ar number
61.Op Fl B Ar number
62.Op Ar year
63.Nm ncal
64.Op Fl CN
65.Op Fl H Ar yyyy-mm-dd
66.Op Fl d Ar yyyy-mm
67.Sh DESCRIPTION
68The
69.Nm
70utility displays a simple calendar in traditional format and
71.Nm ncal
72offers an alternative layout, more options and the date of Easter.
73The new format is a little cramped but it makes a year fit
74on a 25x80 terminal.
75If arguments are not specified,
76the current month is displayed.
77.Pp
78The options are as follows:
79.Bl -tag -width indent
80.It Fl h
81Turns off highlighting of today.
82.It Fl J
83Display Julian Calendar, if combined with the
84.Fl e
85option, display date of Easter according to the Julian Calendar.
86.It Fl e
87Display date of Easter (for western churches).
88.It Fl j
89Display Julian days (days one-based, numbered from January 1).
90.It Fl m Ar month
91Display the specified
92.Ar month .
93If
94.Ar month
95is specified as a decimal number, it may be followed by the letter
96.Ql f
97or
98.Ql p
99to indicate the following or preceding month of that number,
100respectively.
101.It Fl o
102Display date of Orthodox Easter (Greek and Russian
103Orthodox Churches).
104.It Fl p
105Print the country codes and switching days from Julian to Gregorian
106Calendar as they are assumed by
107.Nm ncal .
108The country code as determined from the local environment is marked
109with an asterisk.
110.It Fl s Ar country_code
111Assume the switch from Julian to Gregorian Calendar at the date
112associated with the
113.Ar country_code .
114If not specified,
115.Nm ncal
116tries to guess the switch date from the local environment or
117falls back to September 2, 1752.
118This was when Great
119Britain and her colonies switched to the Gregorian Calendar.
120.It Fl w
121Print the number of the week below each week column.
122.It Fl y
123Display a calendar for the specified year.
124.It Fl 3
125Display the previous, current and next month surrounding today.
126.It Fl A Ar number
127Display the
128.Ar number
129of months after the current month.
130.It Fl B Ar number
131Display the
132.Ar number
133of months before the current month.
134.It Fl C
135Switch to
136.Nm cal
137mode.
138.It Fl N
139Switch to
140.Nm ncal
141mode.
142.It Fl d Ar yyyy-mm
143Use
144.Ar yyyy-mm
145as the current date (for debugging of date selection).
146.It Fl H Ar yyyy-mm-dd
147Use
148.Ar yyyy-mm-dd
149as the current date (for debugging of highlighting).
150.El
151.Pp
152A single parameter specifies the year (1\(en9999) to be displayed;
153note the year must be fully specified:
154.Dq Li cal 89
155will
156.Em not
157display a calendar for 1989.
158Two parameters denote the month and
159year; the month is either a number between 1 and 12, or a full or
160abbreviated name as specified by the current locale.
161Month and
162year default to those of the current system clock and time zone (so
163.Dq Li cal -m 8
164will display a calendar for the month of August in the current
165year).
166.Pp
167Not all options can be used together.
168For example
169.Dq Li -3 -A 2 -B 3 -y -m 7
170would mean:
171show me the three months around the seventh month, three before
172that, two after that and the whole year.
173.Nm ncal
174will warn about these combinations.
175.Pp
176A year starts on January 1.
177.Pp
178Highlighting of dates is disabled if stdout is not a tty.
179.Sh SEE ALSO
180.Xr calendar 3 ,
181.Xr strftime 3
182.Sh STANDARDS
183The
184.Nm
185utility is compliant with the
186X/Open System Interfaces option of the
187.St -p1003.1-2008
188specification.
189.Pp
190The flags
191.Op Fl 3hyJeopw ,
192as well as the ability to specify a month name as a single argument,
193are extensions to that specification.
194.Pp
195The week number computed by
196.Fl w
197is compliant with the
198.St -iso8601
199specification.
200.Sh HISTORY
201A
202.Nm
203command appeared in
204.At v1 .
205The
206.Nm ncal
207command appeared in
208.Fx 2.2.6 .
209.Sh AUTHORS
210The
211.Nm ncal
212command and manual were written by
213.An Wolfgang Helbig Aq Mt helbig@FreeBSD.org .
214.Sh BUGS
215The assignment of Julian\(enGregorian switching dates to country
216codes is historically naive for many countries.
217.Pp
218Not all options are compatible and using them in different orders
219will give varying results.
220.Pp
221It is not possible to display Monday as the first day of the week with
222.Nm cal .
223