# cal - man(1) - [phpMan]

> **TLDR:** Display a calendar with the current day highlighted.
>
- Display a calendar for the current month:
  `cal`
- Display a calendar for a specific year:
  `cal {{year}}`
- Display a calendar for a specific month and year:
  `cal {{month}} {{year}}`

*Source: tldr-pages*

---

[_CAL_(1)](https://www.chedong.com/phpMan.php/man/CAL/1/markdown)                                 General Commands Manual                                [_CAL_(1)](https://www.chedong.com/phpMan.php/man/CAL/1/markdown)

## NAME
       cal, ncal — displays a calendar and the date of Easter

## SYNOPSIS
       **cal **[**-3hjy**] [**-A _**number_] [**-B _**number_] [[_month_] _year_]
       **cal **[**-3hj**] [**-A _**number_] [**-B _**number_] **-m _**month_ [_year_]
       **ncal **[**-3bhjJpwySM**] [**-A _**number_] [**-B _**number_] [**-W _**number_] [**-s _**country_code_] [[_month_] _year_]
       **ncal **[**-Jeo**] [**-A _**number_] [**-B _**number_] [_year_]
       **ncal **[**-CN**] [**-H _**yyyy-mm-dd_] [**-d _**yyyy-mm_]

## DESCRIPTION
       The  **cal **utility displays a simple calendar in traditional format and **ncal **offers an alterna‐
       tive 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
       displayed.

       The options are as follows:

### -h      

### -J       -o 
               Easter according to the Julian Calendar.

### -e      

### -j      

### -m _
               Display  the  specified  _month_.  If _month_ is specified as a decimal number, appending
               ‘f’ or ‘p’ displays the same month of the following or previous year respectively.

### -o      

### -p      
               are  assumed  by  **ncal**.  The country code as determined from the local environment is
               marked with an asterisk.

### -s _
               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      

### -y      
               month are specified on the command line.

### -3      

### -1      

### -A _
               Months to add after. The specified number of months is added to the end of  the  dis‐
               play.  This  is  in addition to any date range selected by the **-y**, **-3**, or **-1 **options.
               For example, “**cal -y -B2 -A2**” shows everything from November of the previous year  to
               February of the following year. Negative numbers are allowed, in which case the spec‐
               ified number of months is subtracted. For example, “**cal -y -B-6**” shows July to Decem‐
               ber. And “**cal -A11**” simply shows the next 12 months.

### -B _
               Months to add before. The specified number of months is added to the beginning of the
               display. See **-A **for examples.

### -C       -b 

### -d _
               Use _yyyy-mm_ as the current date (for debugging of date selection).

### -H _
               Use _yyyy-mm-dd_ as the current date (for debugging of highlighting).

### -M      

### -S      

### -W _
               First week of the year has at least _number_ days.

### -b      

       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).

       Not  all  options  can be used together.  For example the options **-y**, **-3**, and **-1 **are mutually
       exclusive. If inconsistent options are given, the later ones take precedence over the earlier
       ones.

       A year starts on January 1.

       Highlighting of dates is disabled if stdout is not a tty.

## SEE ALSO
       [_calendar_(3)](https://www.chedong.com/phpMan.php/man/calendar/3/markdown), [_strftime_(3)](https://www.chedong.com/phpMan.php/man/strftime/3/markdown)

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

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

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

## HISTORY
       A **cal **command appeared in Version 1 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 ex‐
       tra blank line also appears with the original **cal **command, at least on Solaris 8

## AUTHORS
       The **ncal **command and manual were written by Wolfgang Helbig <<_helbig@FreeBSD.org_>>.

## BUGS
       The assignment of Julian–Gregorian switching dates to country codes is historically naive for
       many countries.

       Not all options are compatible and using them in different orders will give varying results.

       It is not possible to display Monday as the first day of the week with **cal**.

Debian                                      March 7, 2019                                     [_CAL_(1)](https://www.chedong.com/phpMan.php/man/CAL/1/markdown)
