schedule2019-04-25

ふと日付を確認したいときにはLinuxのカレンダーコマンドcal

閏年の話をしていたとき、後輩君にCUIでカレンダーを表示するコマンドを教えてもらいました。 見やすくて好きです。

カレンダーを確認する cal

calで見られる日付は整っていて見やすいです。

calでは今月のカレンダーが表示できます。 ローカルタイムをJSTにしていたためか、日本語表示になっていました。

$ cal
      42019
日 月 火 水 木 金 土
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

出力では今日の日付が網掛けになっています。

2020年の閏年に対応しているか確認する

1年分のカレンダーを表示するには表示する年を渡す。 表示する年は1-9999まで指定できます。

cal [表示する年]

2020年のカレンダーを表示する

$ cal 2020
                               2020

         123月
日 月 火 水 木 金 土   日 月 火 水 木 金 土   日 月 火 水 木 金 土
          1  2  3  4                      1    1  2  3  4  5  6  7
 5  6  7  8  9 10 11    2  3  4  5  6  7  8    8  9 10 11 12 13 14
12 13 14 15 16 17 18    9 10 11 12 13 14 15   15 16 17 18 19 20 21
19 20 21 22 23 24 25   16 17 18 19 20 21 22   22 23 24 25 26 27 28
26 27 28 29 30 31      23 24 25 26 27 28 29   29 30 31

         456月
日 月 火 水 木 金 土   日 月 火 水 木 金 土   日 月 火 水 木 金 土
          1  2  3  4                   1  2       1  2  3  4  5  6
 5  6  7  8  9 10 11    3  4  5  6  7  8  9    7  8  9 10 11 12 13
12 13 14 15 16 17 18   10 11 12 13 14 15 16   14 15 16 17 18 19 20
19 20 21 22 23 24 25   17 18 19 20 21 22 23   21 22 23 24 25 26 27
26 27 28 29 30         24 25 26 27 28 29 30   28 29 30
                       31
         789月
日 月 火 水 木 金 土   日 月 火 水 木 金 土   日 月 火 水 木 金 土
          1  2  3  4                      1          1  2  3  4  5
 5  6  7  8  9 10 11    2  3  4  5  6  7  8    6  7  8  9 10 11 12
12 13 14 15 16 17 18    9 10 11 12 13 14 15   13 14 15 16 17 18 19
19 20 21 22 23 24 25   16 17 18 19 20 21 22   20 21 22 23 24 25 26
26 27 28 29 30 31      23 24 25 26 27 28 29   27 28 29 30
                       30 31
        101112月
日 月 火 水 木 金 土   日 月 火 水 木 金 土   日 月 火 水 木 金 土
             1  2  3    1  2  3  4  5  6  7          1  2  3  4  5
 4  5  6  7  8  9 10    8  9 10 11 12 13 14    6  7  8  9 10 11 12
11 12 13 14 15 16 17   15 16 17 18 19 20 21   13 14 15 16 17 18 19
18 19 20 21 22 23 24   22 23 24 25 26 27 28   20 21 22 23 24 25 26
25 26 27 28 29 30 31   29 30                  27 28 29 30 31

出力は整っていて好きだ。 コピペすると日本語がどうしてもずれてしまう。

2020年02月のカレンダーを表示する

一年分のカレンダーは冗長だったので月まで指定する。

$ cal [表示する月] [表示する年]

表示する月は1-12で選択します。 月と年の順序に注意。

$ cal 2 2020
      22020
日 月 火 水 木 金 土
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29

2020年は閏年です。 02月29日がちゃんとあります。

3ヶ月分表示

元号が話題になっているので、昭和から平成に変わった1989年01月08日前後の3ヶ月を表示します。

$ cal 1 1989 -3
      12月 1988             1月 1989              2月 1989
日 月 火 水 木 金 土  日 月 火 水 木 金 土  日 月 火 水 木 金 土
             1  2  3   1  2  3  4  5  6  7            1  2  3  4
 4  5  6  7  8  9 10   8  9 10 11 12 13 14   5  6  7  8  9 10 11
11 12 13 14 15 16 17  15 16 17 18 19 20 21  12 13 14 15 16 17 18
18 19 20 21 22 23 24  22 23 24 25 26 27 28  19 20 21 22 23 24 25
25 26 27 28 29 30 31  29 30 31              26 27 28

calは元号まで対応していないので、令和の対応に追われずのんびりカレンダーを表示できます。