1.\"- 2.\" SPDX-License-Identifier: BSD-2-Clause 3.\" 4.\" Copyright (c) 1997 Wolfgang Helbig 5.\" All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.Dd March 7, 2019 29.Dt CAL 1 30.Os 31.Sh NAME 32.Nm cal , 33.Nm ncal 34.Nd displays a calendar and the date of Easter 35.Sh SYNOPSIS 36.Nm 37.Op Fl 3hjMy 38.Op Fl A Ar number 39.Op Fl B Ar number 40.Oo 41.Op Ar month 42.Ar year 43.Oc 44.Nm 45.Op Fl 3hjM 46.Op Fl A Ar number 47.Op Fl B Ar number 48.Fl m Ar month 49.Op Ar year 50.Nm ncal 51.Op Fl 3hjJpwy 52.Op Fl A Ar number 53.Op Fl B Ar number 54.Op Fl s Ar country_code 55.Oo 56.Op Ar month 57.Ar year 58.Oc 59.Nm ncal 60.Op Fl 3hJeo 61.Op Fl A Ar number 62.Op Fl B Ar number 63.Op Ar year 64.Nm ncal 65.Op Fl CN 66.Op Fl H Ar yyyy-mm-dd 67.Op Fl d Ar yyyy-mm 68.Sh DESCRIPTION 69The 70.Nm 71utility displays a simple calendar in traditional format and 72.Nm ncal 73offers an alternative layout, more options and the date of Easter. 74The new format is a little cramped but it makes a year fit 75on a 25x80 terminal. 76If arguments are not specified, 77the current month is displayed. 78.Pp 79The options are as follows: 80.Bl -tag -width indent 81.It Fl h 82Turns off highlighting of today. 83.It Fl J 84Display Julian Calendar, if combined with the 85.Fl e 86option, display date of Easter according to the Julian Calendar. 87.It Fl e 88Display date of Easter (for western churches). 89.It Fl j 90Display Julian days (days one-based, numbered from January 1). 91.It Fl M 92Display Monday as the first day of the week in 93.Nm cal 94mode. 95.It Fl m Ar month 96Display the specified 97.Ar month . 98If 99.Ar month 100is specified as a decimal number, it may be followed by the letter 101.Ql f 102or 103.Ql p 104to indicate the following or preceding month of that number, 105respectively. 106.It Fl o 107Display date of Orthodox Easter (Greek and Russian 108Orthodox Churches). 109.It Fl p 110Print the country codes and switching days from Julian to Gregorian 111Calendar as they are assumed by 112.Nm ncal . 113The country code as determined from the local environment is marked 114with an asterisk. 115.It Fl s Ar country_code 116Assume the switch from Julian to Gregorian Calendar at the date 117associated with the 118.Ar country_code . 119If not specified, 120.Nm ncal 121tries to guess the switch date from the local environment or 122falls back to September 2, 1752. 123This was when Great 124Britain and her colonies switched to the Gregorian Calendar. 125.It Fl w 126Print the number of the week below each week column. 127.It Fl y 128Display a calendar for the specified year. 129.It Fl 3 130Display the previous, current and next month surrounding today. 131.It Fl A Ar number 132Display the 133.Ar number 134of months after the current month. 135.It Fl B Ar number 136Display the 137.Ar number 138of months before the current month. 139.It Fl C 140Switch to 141.Nm cal 142mode. 143.It Fl N 144Switch to 145.Nm ncal 146mode. 147.It Fl d Ar yyyy-mm 148Use 149.Ar yyyy-mm 150as the current date (for debugging of date selection). 151.It Fl H Ar yyyy-mm-dd 152Use 153.Ar yyyy-mm-dd 154as the current date (for debugging of highlighting). 155.El 156.Pp 157A single parameter specifies the year (1\(en9999) to be displayed; 158note the year must be fully specified: 159.Dq Li cal 89 160will 161.Em not 162display a calendar for 1989. 163Two parameters denote the month and 164year; the month is either a number between 1 and 12, or a full or 165abbreviated name as specified by the current locale. 166Month and 167year default to those of the current system clock and time zone (so 168.Dq Li cal -m 8 169will display a calendar for the month of August in the current 170year). 171.Pp 172Not all options can be used together. 173For example 174.Dq Li -3 -A 2 -B 3 -y -m 7 175would mean: 176show me the three months around the seventh month, three before 177that, two after that and the whole year. 178.Nm ncal 179will warn about these combinations. 180.Pp 181A year starts on January 1. 182.Pp 183Highlighting of dates is disabled if stdout is not a tty. 184.Sh SEE ALSO 185.Xr calendar 3 , 186.Xr strftime 3 187.Sh STANDARDS 188The 189.Nm 190utility is compliant with the 191X/Open System Interfaces option of the 192.St -p1003.1-2008 193specification. 194.Pp 195The flags 196.Op Fl 3ehJMopwy , 197as well as the ability to specify a month name as a single argument, 198are extensions to that specification. 199.Pp 200The week number computed by 201.Fl w 202is compliant with the 203.St -iso8601 204specification. 205.Sh HISTORY 206A 207.Nm 208command appeared in 209.At v1 . 210The 211.Nm ncal 212command appeared in 213.Fx 2.2.6 . 214.Sh AUTHORS 215The 216.Nm ncal 217command and manual were written by 218.An Wolfgang Helbig Aq Mt helbig@FreeBSD.org . 219.Sh BUGS 220The assignment of Julian\(enGregorian switching dates to country 221codes is historically naive for many countries. 222.Pp 223Not all options are compatible and using them in different orders 224will give varying results. 225