# cal

显示当前日历或指定日期的日历

## 补充说明

cal命令 用于显示当前日历，或者指定日期的日历，如果没有指定参数，则显示当前月份。

一个单一的参数指定要显示的年份 (1 - 9999) ; 注意年份必须被完全地指定: cal 89 不会 显示1989年的日历. 两个参数表示月份 (1 - 12) 和年份. 如果没有指定参数, 则显示当前月份的日历.

一年从Jan 1 (1 月 1 日) 开始.

格里高利历法改革(Gregorian Reformation)被认为发生于 1752 年 9 月 3 日. 在此之前, 多数国家已经认可这项改革(尽管有一些直到 20 世纪初才认可它). 那天之后的 10 天在这项改革被略去了, 所以那个月的日历有点不太寻常.

### 语法

    cal [ -mjy ] [ 月份 ] [ 年份 ]

### 选项

    -l # 显示单月输出；
    -3 # 显示临近三个月的日历；
    -s # 将星期日作为月的第一天；
    -m # 显示星期一作为一周的第一天..  (缺省为星期日.)
    -j # 显示儒略历的(Julian)日期 (以 1 为基的天数, 从 1 月 1 日开始计数) .
    -y # 显示当前年份的日历..

### 参数

    月：指定月份；
    年：指定年份。

### 实例

单独执行cal命令会打印出日历：

    [root@localhost ~]# cal
        十二月 2013
    日 一 二 三 四 五 六
     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 31

    [root@localhost ~]# cal -j
            十二月 2013
      日   一   二   三   四   五   六
    335 336 337 338 339 340 341
    342 343 344 345 346 347 348
    349 350 351 352 353 354 355
    356 357 358 359 360 361 362
    363 364 365

    [root@localhost ~]# cal -3
        十一月 2013           十二月 2013            一月 2014
    日 一 二 三 四 五 六  日 一 二 三 四 五 六  日 一 二 三 四 五 六
                    1  2   1  2  3  4  5  6  7            1  2  3  4
     3  4  5  6  7  8  9   8  9 10 11 12 13 14   5  6  7  8  9 10 11
    10 11 12 13 14 15 16  15 16 17 18 19 20 21  12 13 14 15 16 17 18
    17 18 19 20 21 22 23  22 23 24 25 26 27 28  19 20 21 22 23 24 25
    24 25 26 27 28 29 30  29 30 31              26 27 28 29 30 31