我使用过的Linux命令之cal - 显示日历

我使用过的Linux命令之cal - 显示日历

本文链接:http://codingstandards.iteye.com/blog/807962   (转载请注明出处)

 

用途说明

  cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。我国从辛亥革命后即自民国元年采用阳历,故又名曰“国历”。为与我国旧有之历相对称,故又名曰“新历”。1949年正式规定公元纪年。

  公历的前身是古罗马凯撒修订的儒略历。根据儒略历的规定,每4年有1个闰年,闰年为366日,其余3年(称为平年)各有365日。公元年数能被4除得尽的是闰年。儒略历1年平均长365.25 日,比实际公转周期的365.2422日长11分14秒,即每400年约长3日。这样到公元16世纪时已经积累了有10天误差。可以明显感觉到两至两分提前了。在此情况下,教皇格列高里十三世于1582年宣布改历。先是一步到位把儒略历1582年10月4日的下一天定为格列历10月15日,中间跳过10 天。同时修改了儒略历置闰法则。除了保留儒略历年数被4除尽的是闰年外。增加了被100除得尽而被400除不尽的则不是闰年的规定。这样的做法可在400 年中减少3个闰年。在格列高里历历法里,400年中有97个闰年(每年366日)及303个平年(每年365日),所以每年平均长365.2425日,与公转周期的365.2422日十分接近。可基本保证到公元5000年前误差不超过1天。

常用参数

cal命令不带参数只显示当前月份的日历。

-1      显示一个月的月历(Display single month output. This is the default.)
-3      显示系统前一个月,当前月,下一个月的月历(Display prev/current/next month output.)
-s       显示星期天为一个星期的第一天,默认的格式(Display Sunday as the first day of the week. This is the default.)
-m     显示星期一为一个星期的第一天(Display Monday as the first day of the week.)
-j       显示儒略日(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)(Display Julian dates (days one-based, numbered from January 1).)
-y      显示当前年份的日历(Display a calendar for the current year.)

使用示例

示例一 显示当前月份的日历

请见谅,JavaEye显示的比较乱,要是能显示等宽字体就好了。

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

[root@new55 ~]# cal -j
        十一月 2010       
  日   一   二   三   四   五   六
    305 306 307 308 309 310
311 312 313 314 315 316 317
318 319 320 321 322 323 324
325 326 327 328 329 330 331
332 333 334
注:此处显示自1月1日的天数。
[root@new55 ~]# cal -m
    十一月 2010    
一 二 三 四 五 六 日
 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
注:此处星期一显示在第一列。
[root@new55 ~]#

示例二 显示当前月份及前后月份的日历

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

 

示例三 显示今年的日历

[root@new55 ~]# cal -y
                               2010                               

        一月                   二月                   三月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
                1  2       1  2  3  4  5  6       1  2  3  4  5  6
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    7  8  9 10 11 12 13
10 11 12 13 14 15 16   14 15 16 17 18 19 20   14 15 16 17 18 19 20
17 18 19 20 21 22 23   21 22 23 24 25 26 27   21 22 23 24 25 26 27
24 25 26 27 28 29 30   28                     28 29 30 31
31
        四月                   五月                   六月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
             1  2  3                      1          1  2  3  4  5
 4  5  6  7  8  9 10    2  3  4  5  6  7  8    6  7  8  9 10 11 12
11 12 13 14 15 16 17    9 10 11 12 13 14 15   13 14 15 16 17 18 19
18 19 20 21 22 23 24   16 17 18 19 20 21 22   20 21 22 23 24 25 26
25 26 27 28 29 30      23 24 25 26 27 28 29   27 28 29 30
                       30 31
        七月                   八月                   九月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
             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 29 30

        十月                  十一月                 十二月       
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
                1  2       1  2  3  4  5  6             1  2  3  4
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    5  6  7  8  9 10 11
10 11 12 13 14 15 16   14 15 16 17 18 19 20   12 13 14 15 16 17 18
17 18 19 20 21 22 23   21 22 23 24 25 26 27   19 20 21 22 23 24 25
24 25 26 27 28 29 30   28 29 30               26 27 28 29 30 31
31

[root@new55 ~]#

 

示例四 显示指定年月的日历

[root@new55 ~]# cal 10 2009
     十月 2009     
日 一 二 三 四 五 六
             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@new55 ~]# cal 9 1752
     九月 1752     
日 一 二 三 四 五 六
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

注:1752年9月比正常情况少了11天。1582年2月,罗马教廷要求从1582 年10月中减去10天,因此1852年10月4日后面紧跟着就是15日。在意大利、西班牙等国家都这样处理了。其他天主教国家也很快跟着这么做了,但是新 教国家不愿意修改,而且希腊等东正教国家直到20世纪初才修改,所以这个改革在英国及其殖民地(包括美国)在1752年9月才被执行。这样1752 年9月2日后面跟着的就是1752年9月14日。这就是为什么cal会生成上面输出的原因了。

[root@new55 ~]#

问题思考

1. 只显示公历,对于中国人来说,还有点不足。Linux下有没有既显示公历也显示农历的日历呢?

相关资料

【1】百度百科 公历

【2】百度空间 Linux cal日历指令

【3】51CTO Linux cal命令了解人类时间改革

 

返回 我使用过的Linux命令系列总目录

 

Altair HyperWorks 2022.3.0 Suite下载 Altair HyperWorks开发团队提供了新的一流技术,以设计和优化高性能、高效和创新的产品,并发布了HyperWorks 2021.2套件。与所有新版本一样,这个版本包含了新特性、增强功能,并修复了前一个版本中用户报告的各种问题,提供了总体上更稳定的体验。链接: https://pan.baidu.com/s/1rYietmQLQUboHiJzYoE9WQ?pwd=m9yh 提取码: m9yh 复制这段内容后打开百度网盘手机App,操作更方便哦。 阅读详情

相关推荐

NVIDIA Jetson Orin系列 - 使用SDK Manager安装JetPack全流程解析

本文详细解析了使用NVIDIA官方SDK Manager为Jetson Orin系列开发板安装JetPack系统的完整流程。从环境准备、设备进入恢复模式,到SDK Manager图形化界面的分步操作指南,提供了新手友好的全流程解析,并分享了安装后的验证方法及常见问题解决方案,帮助开发者高效搭建稳定的边缘AI开发环境。

nn3456的博客 406

linux 儒略日时间计算,儒略日计算公式的解读

一、首先简单介绍一下儒略日儒略日是法国学者Joseph Justus Scaliger(1540-1609)设计的一种历法,与尤里乌斯·恺撒于公元前45年颁布的儒略历没有关系,不要混淆。儒略日是指从公元-4712年1月1日12时(公元前4713年1月1日12时)开始连续计算得出的天数(不满一日的部分用小数表示)。二、儒略日的计算公式设Y为给定年份,M为月份,D为该月日期(可以带小数)。(1)若M ...

weixin_34493827的博客 3256

PADS VX 蛇形走线的设置方法与绕制

在PCB设计过程中,在等长的设置中是必须用到蛇形走线的,并且DDR模块也会经常使用到。因此掌握蛇形走线的设置方法对我们PCB高速板设计中有很大的帮助。下面介绍蛇形走线的设置方法与绕制。1.单根网络线的蛇形走线的设置:打开PADS router界面,点击“工具”→“选项”(快捷方式“Ctrl+Enter”),弹出“选项”窗口,选择“布线”界面下的“调整”,在“调整”界面,设置蛇形走线,倒角比例可以灵活设置。操作如下图所示:完成蛇形走线的配置后,快捷方式“F3”进行交互式布线时,单击右键选择“添加蛇形走线”,便

tianpu2320959696的博客 3388

linux 儒略日时间计算,C/C++ 儒略日计算以及恒星时计算

在天文学上一般使用儒略日进行计时,这个做法和计算机内部表达时间基本上是一样的。这个做法其实就是序列号时间编码,表示指定时间和某个零点时刻之间的时差。这么做法的好处是,不受历法莫名其妙的各种变动的影响,管你大月小月闰年闰月的,反正我连续计算。儒略日(Julian day)是指由公元前4713年1月1日,協調世界時中午12時開始所經過的天數,多為天文學家採用,用以作為天文學的單一曆法,把不同曆法的年表...

weixin_42389522的博客 1133

【Block总结】DiffAttention,差分注意力融入CLIP架构,抑制噪声,增强对相关特征的关注|即插即用

DiffCLIP通过微小的结构改动实现了显著的性能提升,为多模态模型的轻量化与高效化提供了新范式。

AI浩 1561

一文搞懂数据标注

数据标注即通过分类、画框、标注、注释等,对图片、语音、文本等数据进行处理,标记对象的特征,以作为机器学习基础素材的过程。简言之,就是需要给数据做好标注,这样机器就能知道学习哪些内容。

女王の专属领地 9935

MJD时间的计算与UTC的转换

十进制转十六进制:https://www.rapidtables.com/convert/number/decimal-to-hex.html。在线计算MJD(十进制):http://www.csgnetwork.com/julianmodifdateconv.html。简化儒略日(MJD): MJD=JD-2400000.5 MJD的第0日是从公历1858年11月17日的GMT零时开始的。连续纪日的儒略日(JD):以儒略历公元前4713年1月1日的GMT正午为第0日的开始。

Coder的博客 3829

使用 Simulink 实现基于相控阵雷达的波束形成技术

摘要:本文详细介绍了利用MATLAB Simulink和Phased Array System工具箱实现相控阵雷达波束形成的完整流程。主要内容包括:1)创建Simulink模型;2)设计天线阵列参数;3)信号生成模块配置;4)波束形成算法实现;5)结果可视化方法;6)仿真调试与优化;7)代码导出与部署。通过分步指导,读者可以掌握从理论到实践的完整开发流程,包括关键参数设置和算法实现示例。该方案适用于军事、气象等领域的雷达系统开发,并支持后续嵌入式和智能算法集成。

xiaoheshang_123的博客 179

基本指令与shell理解(3)

Linux(3)

qq_44463986的博客 767

SAP公司间STO业务解析(包含主数据解析、后台配置解析、前台业务演示)

SAP公司间STO业务解析

ww114784的博客 1016

Open-Sora代码详细解读(2):时空3D VAE

目前开源的DiT视频生成模型不是很多,Open-Sora是开发者生态最好的一个,涵盖了DiT、时空DiT、3D VAE、Rectified Flow、因果卷积等Diffusion视频生成的经典知识点。本篇博客从Open-Sora的代码出发,深入解读背后的原理。

沉迷单车的追风少年 2052

linux常用shell命令面试,linux/shell脚本常用的20个命令(高频面试题系列)

1. ls命令ls命令:列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,所列出的内容可能是文件也可能是文件夹。“ls -l”命令:以详情模式(long listing fashion)列出文件夹的内容。“ls -a”命令:会列出文件夹里的所有内容,包括以”.”开头的隐藏文件。2. lsblk命令“lsblk”命令:列出块设备。除了RAM外,以标准...

weixin_36076151的博客 2937

4、机器人建模、规划与控制及运动学知识解析

本博客深入解析了机器人建模、规划与控制的核心内容,涵盖运动学与动力学的基本原理,并结合典型应用场景探讨了移动机器人与操作器的控制策略。同时,博客还介绍了机器人技术的发展趋势及其在工业和服务领域的广泛应用。

desk3的博客 122

Linux下cal命令C/C++实现(显示日历信息)

在Linux生态系统中,cal代表日历。cal是一个命令行实用程序,用于在Linux终端窗口上显示日历信息。它将有助于打印单月日历、多个或多个月日历以及全年。

chen1415886044的博客 2707

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

linux命令大全之cal命令详解(显示日历)

cal命令可以用来显示公历(阳历)日历。1.命令格式:cal [参数][月份][年份]2.命令功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份3.命令参数:-1 显示一个月的月历-3 显示系统前一个月,当前月,下一个月的月历-s  显示星期天为一个星期的第一天,默认的格式-m 显示星期一为一个星期的第一天-j  显示在当年中的第几天(一年日期...

djl的专栏,blog.djlcx.cn好记 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

linux之cal命令详解,linux命令大全之cal命令详解(显示日历)

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。1.命令格式:cal [参数][月份][年份]2.命令功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份3.命令参数:-1 显示一个月的月历-3 显示系统前一个月,当前月,...

weixin_34838910的博客 967

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

linux命令之显示详细日历cal

1548

linux把日历放入文件夹,[linux命令] cal 日历,cat连接并显示文件

显示日历CAL显示日历。cal [options] [[month] year]实用程序cal用来显示包含月份或者年份的日历。参数:参数来指定cal显示日历中对应的年和月。month是1~12之间的一个十进制数,year为一个十进制整数。如果不指定任何参数,cal就显示当月的日历。如果仅指定一个参数,则该参数被当做年。选项:-j (Julian)显示公历,该日历按照1月1日~12月3...

weixin_39829574的博客 1454

linux cal命令使用,linux命令大全之cal命令详解(显示日历)

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。1.命令格式:cal [参数][月份][年份]2.命令功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份3.命令参数:-1 显示一个月的月历-3 显示系统前一个月,当前月,...

weixin_35733852的博客 626

linux系统使用命令一次显示日历,Linux如何使用cal命令查看日历

通常Linux系统桌面就有自带日历,查看日期十分方便,那么要如何使用命令查看日历呢?下面学习啦小编就给大家介绍下Linux如何使用cal命令查看日历,一起来学习下吧。cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。1.命令格式:cal [参数][月份][年份]2.命令功能:...

weixin_39991935的博客 339

linux系统周几的格式是,linux cal命令显示日历信息周几天数差

cal显示日历信息功能描述:使用cal命令可以显示计算机系统的日历命令语法:cal[选项][月[年]]cal命令选项含义选项含义-j显示出给定月中的每一天是一年中的第几天(从1月1日算起)-y显示出整年的日历-m以星期一为每周第一天的方式显示-s显示星期天为一个星期的第一天,默认的格式-l显示一个月的日历-3显示系统前一个月、当前月和下一个月的日历例如:显示本月的日历。[root@localhos...

weixin_39999532的博客 759

linux cal功能,Linux cal 命令显示日历

Linux 的日历功能非常强大,命令为:cal1、命令格式:cal [options] [[[day] month] year]cal [参数][月份][年份]2、参数:-1, 显示一个月的日历 默认为当月[root@bogon stu]# cal -1December 2016Su Mo Tu We Th Fr Sa1 2 34 5 6 7 8 9 1011 12 13 14 ...

weixin_33859931的博客 662

linux cal命令使用,cal命令_Linux cal命令使用详解:显示当前日历或指定日期的日历...

cal命令用于显示当前日历,或者指定日期的日历。语法cal(选项)(参数)选项-l:显示单月输出;-3:显示临近三个月的日历;-s:将星期日作为月的第一天;-m:将星期一作为月的第一天;-j:显示“julian”日期;-y:显示当前年的日历。参数月:指定月份;年:指定年份。实例单独执行cal命令会打印出日历:[root@localhost ~]# cal一月 2017日 一 二 三 四 五 六1 ...

weixin_30811273的博客 869

Linux cal 命令显示日历

Linux 的日历功能非常强大,命令为:cal1、命令格式:cal [options] [[[day] month] year]cal [参数][月份][年份]2、参数:-1, 显示一个月的日历 默认为当月[root@bogon stu]# cal -1 December 2016 Su Mo Tu W...

weixin_34162228的博客 348

linux 日历服务器,使用linux的cal命令显示日历

使用linux的cal命令显示日历发布时间:2020-07-11 11:29:09来源:亿速云阅读:85作者:清晨栏目:服务器不懂使用linux的cal命令显示日历?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。cal命令的名字来自英语单词“Calendar”。改命令用来显示当前日历,或者指定日期的公历(公历是现在国际通用的历法,又称格列历,通称...

weixin_42189611的博客 996

计算机日历的命令是什么,教程方法;linux命令大全之cal命令详解(显示日历)电脑技巧-琪琪词资源网...

琪琪词资源网-教程方法;linux命令大全之cal命令详解(显示日历)电脑技巧,以下是给大家带来的教程方法;linux命令大全之cal命令详解(显示日历),大家可以了解一下哦!cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。阳历”又名太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名西历”。1.命令格式:cal [参数][月份][年份]2.命令功...

weixin_39667509的博客 373
上一篇: 我使用过的Linux命令之curl - 强大的网络传输工具
下一篇: 我使用过的Linux命令之uptime - 显示系统运行时间
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值