---
name: "cal"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/cal"
---

# cal(1)

displays a calendar

## NAME

**cal** – displays a calendar

## SYNOPSIS

**cal** \[**-jmwy**\] \[*month*\] \[*year*\]

## DESCRIPTION

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

The options are as follows:

- **-j**

  Display Julian dates (days one-based, numbered from January 1). The options **-j** and **-w** are mutually exclusive.

- **-m**

  Display weeks starting on Monday instead of Sunday.

- **-w**

  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.

- **-y**

  Display a calendar for the current year. This option is ignored if *year* is specified and conflicts with specifying a *month*.

A single numerical parameter specifies the *year* (1 - 9999) to be displayed. The year must be fully specified: “cal 89” will *not* 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.

## EXIT STATUS

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

## SEE ALSO

[calendar(1)](/calendar/1.md)

## STANDARDS

The **cal** utility is compliant with the X/Open System Interfaces option of the IEEE Std 1003.1-2024 (“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.

## HISTORY

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