.\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Kim Letkeman. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)cal.1 8.1 (Berkeley) 6/6/93 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 1999 NAKANO Takeo, .\" and 2002 Yuichi Sato, .\" and 2020 Yoichi Chonan, .\" all right reserved. .\" Translated Sat 18 Mar 2000 by NAKANO Takeo .\" Updated Fri 16 Feb 2001 by Nakano Takeo .\" Updated & Modified Tue May 7 01:05:42 JST 2002 .\" by Yuichi SATO .\" Updated & Modified (util-linux 2.34) Tue Mar 3 11:18:32 JST 2020 .\" by Yuichi SATO .\" and Yoichi Chonan .\" .TH CAL 1 "January 2018" util\-linux "User Commands" .SH 名前 cal \- カレンダーを表示する .SH 書式 \fBcal\fP [options] [[[\fIday\fP]\fI month\fP]\fI year\fP] .br \fBcal\fP [options] [\fItimestamp\fP|\fImonthname\fP] .SH 読者へのご注意 これは、util-linux 版の \fBcal\fP コマンドのマニュアルである。\fBcal\fP コマンドの実装には、いくつかの系統がある。御使用のディストリビューションが util-linux 版以外の \fBcal\fP コマンドを採用している場合は、 動作やオプションがここで説明しているものとかなり違っているかもしれない。 そういうときは、英語版しかないかもしれないが、お手元の \fBcal\fP コマンドに付属するマニュアルに当たってみていただきたい。 .SH 説明 \fBcal\fP は簡単なカレンダーを表示する。 引き数を一つも指定しないと、今月のカレンダーが表示される。 .sp 月 (上記 1 番目の書式の \fImonth\fP) は、数値 (1\-12) で指定してもよく、 現在のロケールの月の名前やその短縮形で指定してもよい。 .IP "[\fB訳注\fP]" 8 逆に言うと、月の名前として \fBJanuary\fP や \fBjan\fP を使いたかったら、ロケールを \fBC\fP か英語にしなければならないということだ。日本語ついて言うと、1 番目の書式、すなわち \fIday\fP \fImonth\fP \fIyear\fP という形で日付を指定する場合は (\fIday\fP と \fImonth\fP は省略できる)、月の名前は使用できない。数値のみが有効である。2 番目の書式で今年の月の名前だけを指定する場合は、"3月" という指定ならできるが、"3" や "三月" や "3月" は使用できない。 日付の指定についての詳しいことは、「\fBパラメータ\fP」セクションをご覧になっていただきたい。 .PP .sp この \fBcal\fP では、グレゴリオ暦とユリウス暦という二つの異なった暦法を併用している。 両者はほぼ同一の暦法だが、グレゴリオ暦は閏年の頻度についてちょっとした補正を行っており、 そうすることで、春分・秋分のような太陽運行上の現象との同期が、より取りやすくなっている。 グレゴリオ暦への改定は、1582 年に導入されたが、 諸国によるその採用は、1923 年までに渡って行われた。\fBcal\fP はデフォルトでは、改暦の施行日を 1752 年 9 月 3 日にしている (訳注: イギリスにおける改暦日だ)。 その日より後は、グレゴリオ暦で表示し、それより前の日付には、ユリウス暦を使用するのである。 改暦に当たっては、暦を太陽運行上の現象と同期させるために、11 日間が取り除かれた。 そのため、1752 年 9 月は、ユリウス暦の日付とグレゴリオ暦の日付が混じっており、2 日の翌日は 14 日である (3 日から 13 日は存在しない)。 .sp もしそうしたければ、遡及グレゴリオ暦とユリウス暦のいずれかを一貫して使用することもできる。 下記の \fB\-\-reform\fP を参照していただきたい。 .SH オプション .TP \fB\-1\fP, \fB\-\-one\fP あるひと月のみを表示する (これがデフォルトである)。 .TP \fB\-3\fP, \fB\-\-three\fP 指定された日付を挟む 3 ヶ月を表示する。 .TP \fB\-n , \-\-months\fP \fInumber\fP 指定された日付を含む月から始まる \fInumber\fP ヶ月を表示する。 .TP \fB\-S, \-\-span\fP 指定された日付を挟む数ヶ月を表示する (訳注: \fB\-3\fP や \fB\-n\fP オプションと組み合わせて \&'\fBcal \-S \-3 12 2019\fP', '\fBcal \-S \-n 5 2019\-12\-25\fP' などと使用する)。 .TP \fB\-s\fP, \fB\-\-sunday\fP 日曜日を週の最初の日とする。 .TP \fB\-m\fP, \fB\-\-monday\fP 月曜日を週の最初の日とする。 .TP \fB\-\-iso\fP 一貫して遡及グレゴリオ暦を表示する。下記の \fB\-\-reform\fP を参照。 .TP \fB\-j\fP, \fB\-\-julian\fP すべてのカレンダーで年内日付を使う。これは通算日 (ordinal days) とも呼ばれる。通算日は 1 から 366 の範囲である。 このオプションを使っても、グレゴリオ暦からユリウス暦への切り替が行われるわけではない。 それを行うのは、\fB\-\-reform\fP オプションの仕事である。 .sp 通算日を使うグレゴリオ暦が、ユリウス暦と呼ばれることもある。 これは紛らわしいことかもしれない。 日付に関係した習慣には、名前にユリウスを使うものがたくさんあるからだ。 たとえば、通算ユリウス日、ユリウス暦日、天文学的ユリウス日、修正ユリウス日。まだまだある。 このオプションが julian という名前なのは、POSIX 規格で通算日を julian と言うことにしているからだ。とは言え、\fBcal\fP では暦法としてのユリウス暦もやはり使用していることに気をつけていただきたい。 上記「\fB説明\fP」セクション参照。 .TP \fB\-\-reform\ \fP\fIval\fP このオプションでは、グレゴリオ暦への改暦の実施日を設定する。 改暦以前の日付には、ユリウス暦を使用し、改暦以後の日付には、グレゴリオ暦を使用するわけだ。 引き数の \fIvar\fP には、以下のものが使える。 .RS .IP \(bu 2 \fI1752\fP \- 1752 年 9 月 3 日を改暦の日とする (デフォルト)。 これは大英帝国でグレゴリオ暦への改暦が実施された日である。 .IP \(bu 2 \fIgregorian\fP \- 一貫してグレゴリオ暦を表示する。gregorian というこの特別な値は、改暦日を \fBcal\fP が使用できる最小の年よりも前に置く。 その結果、カレンダーの出力のすべてでグレゴリオ暦が使われことになるわけだ。 これは遡及グレゴリオ暦 (the proleptic Gregorian calendar) と呼ばれる。暦法が作成されたときよりも前の日付でも、グレゴリオ暦で計算した値を使うからである。 .IP \(bu 2 \fIiso\fP \-\ \fIgregorian\fP の別名。「情報交換における日付と時刻の表記に関する ISO 8601 規格」では、遡及グレゴリオ暦を使用することになっている。 .IP \(bu 2 \fIjulian\fP \- 一貫してユリウス暦を表示する。julian というこの特別な値は、改暦日を \fBcal\fP が使用できる最大の年よりも後に置く。 その結果、カレンダーの出力のすべてでユリウス暦が使われることになるわけだ。 .PP 上記「\fB説明\fP」セクションを参照。 .RE .TP \fB\-y\fP, \fB\-\-year\fP その年の 1 年分のカレンダーを表示する。 .TP \fB\-Y, \-\-twelve\fP 指定月に続く 12 ヶ月のカレンダーを表示する。 .TP \fB\-w\fP, \fB\-\-week\fP[=\fInumber\fP] カレンダーに週番号を表示する (US 式と ISO\-8601 式が選べる)。 .RS .IP "[\fB訳注\fP]" 8 ロングオプション \fB\-\-week\fP を\fB年の指定とともに\fP使用した場合は、 等号 ("\fB=\fP") に続けて、週番号を引き数として指定することができる。 そうすると、その年のその週を含む月のカレンダーが表示される。 ただし、月を同時に指定すると、月のほうが優先されてしまう。US 式と ISO\-8601 式の違いについては、「\fB注記\fP」セクションが参考になる。 .RE .TP \fB\-\-color\fP[=\fIwhen\fP] 出力をカラー表示にする。指定が任意の引き数 \fIwhen\fP は、\fBauto\fP, \fBnever\fP, \fBalways\fP のいずれかである。引き数 \fIwhen\fP が省略された場合は、デフォルトの \fBauto\fP になる。 カラー表示は無効化することもできる。 プログラムに埋め込まれた現在のデフォルトが有効か無効かを知りたければ、 \fB\-\-help\fP の出力を見ればよい。「\fBカラー表示\fP」セクションも参照していただきたい。 .TP \fB\-V\fP, \fB\-\-version\fP バージョン情報を表示して、終了する。 .TP \fB\-h\fP, \fB\-\-help\fP ヘルプを表示して、終了する。 .SH パラメータ .TP \fBパラメータが 1 個で、数字のみからなる場合 (例 'cal 2020')\fP 表示すべき \fI年\fP を指定している。年を表す数字は全桁を指定する必要がある。\fBcal 89\fP と指定しても 1989 のカレンダーは表示されない。 .TP \fBパラメータが 1 個で、文字列の場合 (例 'cal tomorrow' や 'cal August')\fP \fIタイムスタンプ\fP、または現在のロケールによる\fI月の名前\fP (短縮形も可) を指定している (訳注: タイムスタンプには、"2019\-12\-25" といった ISO 8061 形式の日付が使える)。 .sp タイムスタンプの解析では、タイムスタンプの代わり使える特定の単語も認識する。"now" は今現在を指すために使用できる。"today", "yesterday", "tomorrow" は、それぞれ、今日、昨日、明日を指す。 .sp 相対的な日付指定も認識する。その場合、"+" を前に付けると、指定した期間を今現在に加えることになる。同様に、期間の前に "\-" を付けると、今現在から指定した期間を引くことになる。たとえば、'+2days' のように指定するわけだ。期間の前に "+" や "\-" を付ける代わりに、後ろに空白を置いて "left" や "ago" という単語を続けることもできる (たとえば、'1 week ago' のように)。 .RS .IP "[\fB訳注\fP]" 8 "ago" を使うときは、相対日付指定の全体を上の例のように引用符で囲む必要がある。 なお、訳者の手元の version 2.34 では "left" はエラーになる。"\-" は、オプションと間違えられないように、 \&'\fBcal \-\- \-7week\fP' などと '\fB\-\-\fP' を前に付けてやる必要がある。 .RE .TP \fBパラメータが 2 個の場合 (例 'cal 11 2020')\fP \fI月\fP (1 \- 12) と \fI年\fP を表している。 .TP \fBパラメータが 3 個の場合 (例 'cal 25 11 2020')\fP \fI日\fP (1\-31)、\fI月\fP、\fI年\fP を表している。 端末上にカレンダーを表示するとき、指定した日が強調表示される。 パラメータを一つも指定しない場合は、今月のカレンダーが表示される。 .SH 注記 一年は、1 月 1 日に始まる。週の最初の日が何曜日かは、ロケールによって決まるが、 \fB\-\-sunday\fP や \fB\-\-monday\fP オプションを使って指定することもできる。 .PP 週番号は、週の最初の日を何曜日にするかで変わってくる。 それが日曜日ならば、北アメリカで一般的な週番号が使われる。その場合、1 月 1 日のあるのが、第 1 週である。週の最初の日が月曜日ならば、ISO 8601 規格の週番号が使われる。その場合は、最初の木曜日があるのが、第 1 週である。 .SH カラー表示 暗黙のカラー表示は、以下のようにして無効化できる。 .RS .br \fBtouch /etc/terminal\-colors.d/cal.disable\fP .br .RE カラー表示の設定については、\fBterminal\-colors.d\fP(5) にもっと詳しい説明がある。 .SH バグ .PP \fBcal\fP のデフォルトの出力では、1752 年 9 月 3 日をグレゴリオ暦への改暦日としている。他のロケールでの歴史上の改暦日は、1582 年 10 月におけるその最初の導入も含めて、実装されていない。 .PP ウンム・アルクラー暦、ヒジュラ太陽暦、ゲエズ暦、ヒンドゥー太陰太陽暦といった他の暦法には、対応していない。 .SH 履歴 cal コマンドは Version 6 AT&T UNIX で登場した。 .SH 入手方法 この cal コマンドは、util\-linux パッケージの一部であり、 https://www.kernel.org/pub/linux/utils/util\-linux/ から入手できる。