OpenBSD manual page server

Manual Page Search Parameters

CAL(1) General Commands Manual CAL(1)

caldisplays a calendar

cal [-jmwy] [month] [year]

cal displays a simple calendar. Calendars may be displayed by month or by year.

The options are as follows:

Display Julian dates (days one-based, numbered from January 1). The options -j and -w are mutually exclusive.
Display weeks starting on Monday instead of Sunday.
Display week numbers in the month display. If -m is specified, the ISO week format is assumed. The options -j and -w are mutually exclusive.
Display a calendar for the current year.

A single numerical parameter specifies the year (1 - 9999) to be displayed. The year must be fully specified: “cal 89” will display a calendar for 1989. Two parameters denote the month (1 - 12, or a month name or abbreviation thereof) and year. Alternatively, a single parameter may be given specifying the name or abbreviated name of a month: in that case a calendar is displayed for that month of the current year. If no parameters are specified, the current month's calendar is displayed.

A year starts on January 1st.

The Gregorian Reformation is assumed to have occurred in 1752 after the 2nd of September. By this time, most countries had recognized the Reformation (although a few did not recognize it until the early 1900s). Eleven days following that date were eliminated by the Reformation, so the calendar for that month is a bit unusual.

The cal utility exits 0 on success, and >0 if an error occurs.


The cal utility is compliant with the X/Open System Interfaces option of the IEEE Std 1003.1-2008 (“POSIX.1”) specification.

The flags [-jmwy], as well as the ability to specify a month name as a single argument, are extensions to that specification.

The week number computed by -mw is compliant with the ISO 8601 specification.

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

March 31, 2022 OpenBSD-7.4