]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - misc-utils/cal.1
Manual pages: order AUTHORS / COPYRIGHT / SEE ALSO / AVAILABILITY consistently
[thirdparty/util-linux.git] / misc-utils / cal.1
index 683e67d19d08a3bcf1fabd57713e82d1fd6637f1..f1b97193fc97e71ec24fe09147c6cf1a0f287faa 100644 (file)
 .\"
 .\"     @(#)cal.1      8.1 (Berkeley) 6/6/93
 .\"
-.TH CAL 1 "June 2015" "util-linux" "User Commands"
+.TH CAL 1 "January 2018" "util-linux" "User Commands"
 .SH NAME
 cal \- display a calendar
 .SH SYNOPSIS
 .B cal
 [options]
 .RI [[[ day ] " month" ] " year" ]
+.br
+.B cal
+[options]
+.RI [ "timestamp" | "monthname" ]
 .SH DESCRIPTION
 .B cal
 displays a simple calendar.  If no arguments are specified, the current
 month is displayed.
 .sp
-The \fImonth\fR may be specified as a number (1-12) or as a month name according
-to the current locales.
+The \fImonth\fR may be specified as a number (1-12), as a month name or as an
+abbreviated month name according to the current locales.
+.sp
+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
+.B cal
+uses the adoption date of 3 Sept 1752.  From that date forward the Gregorian
+calendar 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).
+.sp
+Optionally, either the proleptic Gregorian calendar or the Julian calendar may
+be used exclusively.
+.RB See\  \-\-reform\  below.
 .SH OPTIONS
 .TP
 \fB\-1\fR, \fB\-\-one\fR
@@ -69,8 +89,64 @@ Display Sunday as the first day of the week.
 \fB\-m\fR, \fB\-\-monday\fR
 Display Monday as the first day of the week.
 .TP
+\fB\-v\fR, \fB\-\-vertical\fR
+Display using a vertical layout (aka ncal mode).
+.TP
+.B \-\-iso
+Display the proleptic Gregorian calendar exclusively.  This option does not affect
+week numbers and the first day of the week.
+.RB See\  \-\-reform\  below.
+.TP
 \fB\-j\fR, \fB\-\-julian\fR
-Display Julian dates (days one-based, numbered from January 1).
+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
+.BR \-\-reform\  option.
+.sp
+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
+.B cal
+also uses the Julian calendar system.
+.RB See\  DESCRIPTION\  above.
+.TP
+.BI \-\-reform\  val
+This option sets the adoption date of the Gregorian calendar reform.  Calendar
+dates previous to reform use the Julian calendar system.  Calendar dates
+after reform use the Gregorian calendar system.  The argument
+.I val
+can be:
+.RS
+.IP \(bu 2
+.I 1752
+- sets 3 September 1752 as the reform date (default).
+This is when the Gregorian calendar reform was adopted by the British Empire.
+.IP \(bu 2
+.I gregorian
+- display Gregorian calendars exclusively.  This special placeholder sets the
+reform date below the smallest year that
+.B cal
+can use; meaning all calendar output uses the Gregorian calendar system.  This
+is called the proleptic Gregorian calendar, because dates prior to the calendar
+system's creation use extrapolated values.
+.IP \(bu 2
+.I iso
+- alias of
+.IR gregorian .
+The ISO 8601 standard for the representation of dates and times in information
+interchange requires using the proleptic Gregorian calendar.
+.IP \(bu 2
+.I julian
+- display Julian calendars exclusively.  This special placeholder sets the reform date above the largest year that
+.B cal
+can use; meaning all
+calendar output uses the Julian calendar system.
+.PP
+.RB See\  \%DESCRIPTION\  above.
+.RE
 .TP
 \fB\-y\fR, \fB\-\-year\fR
 Display a calendar for the whole year.
@@ -79,7 +155,8 @@ Display a calendar for the whole year.
 Display a calendar for the next twelve months.
 .TP
 \fB\-w\fR, \fB\-\-week\fR[=\fInumber\fR]
-Display week numbers in the calendar (US or ISO-8601).
+Display week numbers in the calendar (US or ISO-8601).  See NOTES section
+for more details.
 .TP
 \fB\-\-color\fR[=\fIwhen\fR]
 Colorize the output.  The optional argument \fIwhen\fP
@@ -93,31 +170,49 @@ Display version information and exit.
 \fB\-h\fR, \fB\-\-help\fR
 Display help text and exit.
 .SH PARAMETERS
-A single parameter specifies the year to be displayed; note the
-year must be fully specified:
+.TP
+\fBSingle digits-only parameter (e.g., 'cal 2020')\fR
+Specifies the \fIyear\fR to be displayed; note the year must be fully specified:
 .B "cal 89"
 will not display a calendar for 1989.
-.PP
-Two parameters denote the month (1 - 12) and year.
-.PP
-Three parameters denote the day (1-31), month and year, and the day will be
+.TP
+\fBSingle string parameter (e.g., 'cal tomorrow' or 'cal August')\fR
+Specifies \fItimestamp\fR or a \fImonth name\fR (or abbreviated name) according to the current
+locales.
+.sp
+The special placeholders are accepted when parsing timestamp, "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.
+.sp
+The relative date specifications are also accepted, in this case "+" is
+evaluated to the current time plus the specified time span. Correspondingly, a
+time span that is prefixed with "-" is evaluated to the current time minus the
+specified time span, for example '+2days'. Instead of prefixing the time span
+with "+" or "-", it may also be suffixed with a space and the word "left" or
+"ago" (for example '1 week ago').
+.TP
+\fBTwo parameters (e.g., 'cal 11 2020')\fR
+Denote the \fImonth\fR (1 - 12) and \fIyear\fR.
+.TP
+\fBThree parameters (e.g., 'cal 25 11 2020')\fR
+Denote the \fIday\fR (1-31), \fImonth and \fIyear\fR, 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.
-.PP
+.SH NOTES
 A year starts on January 1.  The first day of the week is determined by the
-locale.
+locale or the
+.BR \-\-sunday \ and \ \-\-monday \ options.
 .PP
-The week numbering depends on the choice of the first day of the week.  If Sunday
-(the default) is used for the first day of the week, then the customary North
-American numbering will be used, i.e. the first Sunday of the year starts the
-first week.  If Monday is selected, then the ISO-8601 standard week numbering
-is used, where the first Thursday of the year is in week number 1.
+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 (\fB\-m\fR) then the ISO 8601 standard week
+numbering is used, where the first Thursday is in week number 1.
 .SH COLORS
 Implicit coloring can be disabled as follows:
 .RS
 
 .br
-.BI "touch /etc/terminal-colors.d/cal.disable"
+.B touch /etc/terminal-colors.d/cal.disable
 .br
 
 .RE
@@ -126,14 +221,11 @@ See
 for more details about colorization configuration.
 .SH BUGS
 .PP
-The
+The default
 .B cal
-program uses the 3rd of September 1752 as the date of the Gregorian calendar
-reformation -- that is when it happened in Great Britain and its colonies
-(including what is now the USA).  Starting at that date, eleven days were eliminated
-by this reformation, so the calendar for that month is rather unusual.
-The actual historical dates at which the calendar reform happened in all the
-different countries (locales) are ignored.
+output uses 3 September 1752 as the Gregorian calendar reform date.  The
+historical reform  dates for the other locales, including its introduction in
+October 1582, are not implemented.
 .PP
 Alternative calendars, such as the Umm al-Qura, the Solar Hijri, the Ge'ez,
 or the lunisolar Hindu, are not supported.
@@ -141,4 +233,4 @@ or the lunisolar Hindu, are not supported.
 A cal command appeared in Version 6 AT&T UNIX.
 .SH AVAILABILITY
 The cal command is part of the util-linux package and is available from
-ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+https://www.kernel.org/pub/linux/utils/util-linux/.