cal, ncal - displays a calendar and the date of Easter
cal [-hjy] [[month] year]
cal [-hj] -m month [year]
ncal [-hjJpwy3MS] [-s country_code] [[month] year]
ncal [-hJeo] [year]
The cal utility displays a simple calendar in traditional format and ncal
offers an alternative layout, more options and the date of Easter. The
new format is a little cramped but it makes a year fit on a 25x80
terminal. If arguments are not specified, the current month is
The options are as follows:
-3 Print the previous month, the current month, and the next month
all on one row.
-h Turns off highlighting of today.
-J Display Julian Calendar, if combined with the -e option, display
date of Easter according to the Julian Calendar.
-e Display date of Easter (for western churches).
-j Display Julian days (days one-based, numbered from January 1).
Display the specified month. If month is specified as a decimal
number, it may be followed by the letter ‘f’ or ‘p’ to indicate
the following or preceding month of that number, respectively.
-o Display date of Orthodox Easter (Greek and Russian Orthodox
-p Print the country codes and switching days from Julian to
Gregorian Calendar as they are assumed by ncal. The country code
as determined from the local environment is marked with an
Assume the switch from Julian to Gregorian Calendar at the date
associated with the country_code. If not specified, ncal tries
to guess the switch date from the local environment or falls back
to September 2, 1752. This was when Great Britain and her
colonies switched to the Gregorian Calendar.
-w Print the number of the week below each week column.
-y Display a calendar for the specified year.
-M Weeks start on Monday.
-S Weeks start on Sunday.
A single parameter specifies the year (1–9999) to be displayed; note the
year must be fully specified: “cal 89” will not display a calendar for
1989. Two parameters denote the month and year; the month is either a
number between 1 and 12, or a full or abbreviated name as specified by
the current locale. Month and year default to those of the current
system clock and time zone (so “cal -m 8” will display a calendar for the
month of August in the current year).
A year starts on January 1.
A cal command appeared in Version 5 AT&T UNIX. The ncal command appeared
in FreeBSD 2.2.6. The output of the cal command is supposed to be bit
for bit compatible to the original Unix cal command, because its output
is processed by other programs like CGI scripts, that should not be
broken. Therefore it will always output 8 lines, even if only 7 contain
data. This extra blank line also appears with the original cal command,
at least on solaris 8
The ncal command and manual were written by Wolfgang Helbig
The assignment of Julian–Gregorian switching dates to country codes is
historically naive for many countries.