Back to Contents
CAL(1)                        User Commands                        CAL(1)

NAME
       cal - display a calendar

SYNOPSIS
       cal [options] [[[day] month] year]
       cal [options] [timestamp|monthname]

DESCRIPTION
       cal  displays  a  simple calendar.  If no arguments are specified,
       the current month is displayed.

       The month may be specified as a number (1-12), as a month name  or
       as an abbreviated month name according to the current locales.

       Two  different  calendar  systems  are used, Gregorian and Julian.
       These are nearly identical systems with Gregorian making  a  small
       adjustment  to  the  frequency  of  leap  years;  this facilitates
       improved synchronization with solar  events  like  the  equinoxes.
       The  Gregorian  calendar  reform  was  introduced in 1582, but its
       adoption continued up to 1923.  By default cal uses  the  adoption
       date  of 3 Sept 1752.  From that date forward the Gregorian calen‐
       dar is displayed; previous dates use the Julian  calendar  system.
       11 days were removed at the time of adoption to bring the calendar
       in sync with solar events.  So Sept 1752 has a mix of  Julian  and
       Gregorian  dates by which the 2nd is followed by the 14th (the 3rd
       through the 13th are absent).

       Optionally, either the proleptic Gregorian calendar or the  Julian
       calendar may be used exclusively.  See --reform below.

OPTIONS
       -1, --one
              Display single month output.  (This is the default.)

       -3, --three
              Display three months spanning the date.

       -n , --months number
              Display  number of months, starting from the month contain‐
              ing the date.

       -S, --span
              Display months spanning the date.

       -s, --sunday
              Display Sunday as the first day of the week.

       -m, --monday
              Display Monday as the first day of the week.

       --iso  Display the proleptic Gregorian calendar exclusively.  This
              option  does  not  affect week numbers and the first day of
              the week.  See --reform below.

       -j, --julian
              Use day-of-year numbering for  all  calendars.   These  are
              also  called  ordinal  days.   Ordinal days range from 1 to
              366.  This option does not switch from the Gregorian to the
              Julian   calendar   system,   that  is  controlled  by  the
              --reform option.

              Sometimes  Gregorian  calendars  using  ordinal  dates  are
              referred to as Julian calendars.  This can be confusing due
              to the many date related conventions  that  use  Julian  in
              their  name: (ordinal) julian date, julian (calendar) date,
              (astronomical) julian date,  (modified)  julian  date,  and
              more.   This  option  is named julian, because ordinal days
              are identified as julian by the POSIX  standard.   However,
              be  aware  that  cal  also uses the Julian calendar system.
              See DESCRIPTION above.

       --reform val
              This option sets the adoption date of the Gregorian  calen‐
              dar  reform.   Calendar  dates  previous  to reform use the
              Julian calendar system.  Calendar dates  after  reform  use
              the Gregorian calendar system.  The argument val can be:

              · 1752   -  sets  3  September  1752  as  the  reform  date
                (default).  This is when the  Gregorian  calendar  reform
                was adopted by the British Empire.

              · gregorian  -  display  Gregorian  calendars  exclusively.
                This special placeholder sets the reform date  below  the
                smallest year that cal can use; meaning all calendar out‐
                put uses the Gregorian calendar system.  This  is  called
                the  proleptic Gregorian calendar, because dates prior to
                the calendar system's creation use extrapolated values.

              · iso - alias of gregorian.  The ISO 8601 standard for  the
                representation  of  dates and times in information inter‐
                change requires using the proleptic Gregorian calendar.

              · julian - display Julian calendars exclusively.  This spe‐
                cial  placeholder  sets the reform date above the largest
                year that cal can use; meaning all calendar  output  uses
                the Julian calendar system.

              See DESCRIPTION above.

       -y, --year
              Display a calendar for the whole year.

       -Y, --twelve
              Display a calendar for the next twelve months.

       -w, --week[=number]
              Display week numbers in the calendar (US or ISO-8601).  See
              NOTES section for more details.

       --color[=when]
              Colorize the output.  The optional  argument  when  can  be
              auto, never or always.  If the when argument is omitted, it
              defaults to auto.  The colors can be disabled; for the cur‐
              rent  built-in default see the --help output.  See also the
              COLORS section.

       -V, --version
              Display version information and exit.

       -h, --help
              Display help text and exit.

PARAMETERS
       Single digits-only parameter (e.g., 'cal 2020')
              Specifies the year to be displayed; note the year  must  be
              fully  specified:  cal  89  will not display a calendar for
              1989.

       Single string parameter (e.g., 'cal tomorrow' or 'cal August')
              Specifies timestamp or a month name (or  abbreviated  name)
              according to the current locales.

              The  special  placeholders  are accepted when parsing time‐
              stamp, "now" may be used to  refer  to  the  current  time,
              "today",  "yesterday",  "tomorrow"  refer to of the current
              day, the day before or the next day, respectively.

              The relative date specifications are also accepted, in this
              case  "+"  is evaluated to the current time plus the speci‐
              fied time span. Correspondingly, a time span that  is  pre‐
              fixed  with  "-" is evaluated to the current time minus the
              specified time span, for example '+2days'. Instead of  pre‐
              fixing  the  time span with "+" or "-", it may also be suf‐
              fixed with a space and the word "left" or "ago" (for  exam‐
              ple '1 week ago').

       Two parameters (e.g., 'cal 11 2020')
              Denote the month (1 - 12) and year.

       Three parameters (e.g., 'cal 25 11 2020')
              Denote  the day (1-31), month and year, and the day will be
              highlighted if the calendar is displayed on a terminal.  If
              no  parameters  are specified, the current month's calendar
              is displayed.

NOTES
       A year starts on January 1.  The first day of the week  is  deter‐
       mined by the locale or the --sunday and --monday options.

       The  week  numbering depends on the choice of the first day of the
       week.  If it is Sunday then the customary North American numbering
       is  used,  where  1  January is in week number 1.  If it is Monday
       (-m) then the ISO 8601 standard week numbering is used, where  the
       first Thursday is in week number 1.

COLORS
       Implicit coloring can be disabled as follows:

              touch /etc/terminal-colors.d/cal.disable

       See  terminal-colors.d(5) for more details about colorization con‐
       figuration.

BUGS
       The default cal output uses 3 September 1752 as the Gregorian cal‐
       endar  reform  date.   The  historical reform  dates for the other
       locales, including its  introduction  in  October  1582,  are  not
       implemented.

       Alternative  calendars,  such as the Umm al-Qura, the Solar Hijri,
       the Ge'ez, or the lunisolar Hindu, are not supported.

HISTORY
       A cal command appeared in Version 6 AT&T UNIX.

AVAILABILITY
       The cal command is part of the util-linux package and is available
       from https://www.kernel.org/pub/linux/utils/util-linux/.

util-linux                     January 2018                        CAL(1)