OSDN Git Service

util-linux: update original to 2.34
[linuxjm/jm.git] / manual / util-linux / original / man1 / cal.1
index 7d5e71e..5a8095f 100644 (file)
 .\"
 .\"     @(#)cal.1      8.1 (Berkeley) 6/6/93
 .\"
-.Dd June 6, 1993
-.Dt CAL 1
-.Os
-.Sh NAME
-.Nm cal
-.Nd displays a calendar
-.Sh SYNOPSIS
-.Nm cal
-.Op Fl smjy13
-.Op [ Ar month ] Ar year
-.Sh DESCRIPTION
-.Nm Cal
-displays a simple calendar.
-If arguments are not specified,
-the current month is displayed.
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl 1
+.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), 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
 Display single month output.
 (This is the default.)
-.It Fl 3
-Display prev/current/next month output.
-.It Fl s
+.TP
+\fB\-3\fR, \fB\-\-three\fR
+Display three months spanning the date.
+.TP
+\fB\-n , \-\-months\fR \fInumber\fR
+Display \fInumber\fR of months, starting from the month containing the date.
+.TP
+\fB\-S, \fB\-\-span\fR
+Display months spanning the date.
+.TP
+\fB\-s\fR, \fB\-\-sunday\fR
 Display Sunday as the first day of the week.
-(This is the default.)
-.It Fl m
+.TP
+\fB\-m\fR, \fB\-\-monday\fR
 Display Monday as the first day of the week.
-.It Fl j
-Display Julian dates (days one-based, numbered from January 1).
-.It Fl y
-Display a calendar for the current year.
-.El
-.Pp
-A single parameter specifies the year (1 - 9999) to be displayed;
-note the year must be fully specified:
-.Dq Li cal 89
-will
-.Em not
-display a calendar for 1989.
-Two parameters denote the month (1 - 12) and year.
-If no parameters are specified, the current month's calendar is
-displayed.
-.Pp
-A year starts on Jan 1.
-.Pp
-The Gregorian Reformation is assumed to have occurred in 1752 on the 3rd
-of September.
-By this time, most countries had recognized the reformation (although a
-few did not recognize it until the early 1900's.)
-Ten days following that date were eliminated by the reformation, so the
-calendar for that month is a bit unusual.
-.Sh HISTORY
-A
-.Nm
-command appeared in Version 6 AT&T UNIX.
-.Sh OTHER VERSIONS
-Several much more elaborate versions of this program exist,
-with support for colors, holidays, birthdays, reminders and
-appointments, etc. For example, try the cal from
-http://home.sprynet.com/~cbagwell/projects.html
-or GNU gcal.
+.TP
+.B \-\-iso
+Display the proleptic Gregorian calendar exclusively.
+.RB See\  \-\-reform\  below.
+.TP
+\fB\-j\fR, \fB\-\-julian\fR
+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.
+.TP
+\fB\-Y, \fB\-\-twelve\fR
+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).
+.TP
+\fB\-\-color\fR[=\fIwhen\fR]
+Colorize the output.  The optional argument \fIwhen\fP
+can be \fBauto\fR, \fBnever\fR or \fBalways\fR.  If the \fIwhen\fR argument is omitted,
+it defaults to \fBauto\fR.  The colors can be disabled; for the current built-in default
+see the \fB\-\-help\fR output.  See also the \fBCOLORS\fR section.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help text and exit.
+.SH PARAMETERS
+.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.
+.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.
+.SH NOTES
+A year starts on January 1.  The first day of the week is determined by the
+locale or the
+.BR \-\-sunday \ and \ \-\-monday \ options.
+.PP
+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 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
+.B touch /etc/terminal-colors.d/cal.disable
+.br
+
+.RE
+See
+.BR terminal-colors.d (5)
+for more details about colorization configuration.
+.SH BUGS
+.PP
+The default
+.B cal
+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.
+.SH HISTORY
+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
+https://www.kernel.org/pub/linux/utils/util-linux/.