CAL(1) | General Commands Manual | CAL(1)

# NAME

`cal` — displays a calendar

# SYNOPSIS

`cal` | [`-3hjry`] [`-A` after] [`-B` before] [`-C` context] [`-d` day-of-week] [`-R` reform-spec] [[month] year]

# DESCRIPTION

`cal` displays a simple calendar. If arguments are not specified, the current month is displayed. The options are as follows:

`-3`
  Same as “`-A` 1 `-B` 1”.
`-A` after
  Display after months after the specified month.
`-B` before
  Display before months before the specified month.
`-C` context
  Display context months before and after the specified month.
`-d` day-of-week
  Specifies the day of the week on which the calendar should start. Valid values are 0 through 6, presenting Sunday through Saturday, inclusively. The default output starts on Sundays.
`-h`
  Highlight the current day, if present in the displayed calendar. If output is to a terminal, then the appropriate terminal sequences are used, otherwise overstriking is used. If more than one `-h` is used and output is to a terminal, the current date will be highlighted in inverse video instead of bold.
`-j`
  Display Julian dates (days one-based, numbered from January 1).
`-R` reform-spec
  Selects an alternate Gregorian reform point from the default of September 3rd, 1752. The reform-spec can be selected by one of the built-in names (see NOTES for a list) or by a date of the form YYYY/MM/DD. The date and month may be omitted, provided that what is specified uniquely selects a given built-in reform point. If an exact date is specified, then that date is taken to be the first missing date of the Gregorian Reform to be applied.
`-r`
  Display the month in which the Gregorian Reform adjustment was applied, if no other month or year information is given. If used in conjunction with `-y`, then the entire year is displayed.
`-y`
  Display a calendar for the current year.

If no parameters are specified, the current month's calendar is displayed. A single parameter specifies the year and optionally the month in ISO format: “`cal 2007-12`” Two parameters denote the month (1 - 12) and year. Note that the century must be included in the year.

A year starts on Jan 1.

# NOTES

In the USA and Great Britain the Gregorian Reformation occurred in 1752. By this time, most countries had recognized the reformation (although a few did not recognize it until the 1900's.) Eleven days following September 2, 1752 were eliminated by the reformation, so the calendar for that month is a bit unusual.

In view of the chaotic way the Gregorian calendar was adopted throughout the world in the years between 1582 and 1928 make sure to take into account the date of the Gregorian Reformation in your region if you are checking a calendar for a very old date.

`cal` has a decent built-in list of Gregorian Reform dates and the names of the countries where the reform was adopted:

    	Italy		Oct.  5, 1582	Denmark		Feb. 19, 1700
    	Spain		Oct.  5, 1582	Great Britain	Sep.  3, 1752
    	Portugal	Oct.  5, 1582	Sweden		Feb. 18, 1753
    	Poland		Oct.  5, 1582	Finland		Feb. 18, 1753
    	France		Dec. 12, 1582	Japan		Dec. 20, 1872
    	Luxembourg	Dec. 22, 1582	China		Nov.  7, 1911
    	Netherlands	Dec. 22, 1582	Bulgaria	Apr.  1, 1916
    	Bavaria		Oct.  6, 1583	U.S.S.R.	Feb.  1, 1918
    	Austria		Jan.  7, 1584	Serbia		Jan. 19, 1919
    	Switzerland	Jan. 12, 1584	Romania		Jan. 19, 1919
    	Hungary		Oct. 22, 1587	Greece		Mar. 10, 1924
    	Germany		Feb. 19, 1700	Turkey		Dec. 19, 1925
    	Norway		Feb. 19, 1700	Egypt		Sep. 18, 1928

The country known as Great Britain can also be referred to as England since that has less letters and no spaces in it. This is meant only as a measure of expediency, not as a possible slight to anyone involved.

# HISTORY

A `cal` command appeared in Version 1 AT&T UNIX.

May 29, 2018 | NetBSD 10.99