[原]好玩的Linux,关于时间cal命令

我们都知道,在Linux中,可以通过cal命令来查看日历。Cal怎么用呢,我们可以man一下,可以看到如下结果:


 我们可以看到cal命令的基本用法如下:cal [-smjy13] [[[day] month] year] 

当然如果不加指定参数的话,会显示当前的月份情况。

其常用参数如下:

-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.

-m      Display Monday as the first day of the week.

-j      Display Julian dates (days one-based, numbered from January 1).

-y      Display a calendar for the current year.

-V      Display version information and exit.

我对其逐个简单解释一下:

-1    会把当前单月显示输出(这个也是默认值)

-3   会显示3个月,分别是上一个月,本月,和下个月

-s   会把星期天作为每周的第一天显示

-m    会把星期一作为每周的第一天显示

-j   会显示【天文学】儒略日(从公历1月1日开始的时间,今天是一年里的第多少天)

-y   显示当前一整年的日历

-V   会显示当前的版本信息

( 每个参数的使用方法,已经进行了说明,这里就不贴图了。)

看了这些命令和解释,其实很简单吧。简单试验一下,相信大家肯定就知道怎么用了。后面我补充一下这些参数配合使用的效果,比如:

1.cal -jy  可以将本年度的每一天从年初到年为表上序号,从1~365计数的形式显示,如下:

            

2.cal -3j  可以将本月与上一月、下一月的顺序计数儒略日时间,如下:

            

3.cal 5 2013 可以显示2013年5月份的情况

           

4.当然这里还有一个实际有用的小技巧:比如你想知道前年某一天(eg.2011-11-14)和今天相隔多少天,那么我们可以这么做:

  1)通过 cal -j 14 11 2011 可以得到2011-11-14在当年的天文学日

           

  2)通过cal看下今天的时间

  3)然后很简单就可以计算出来了,另外计算可以通过bc,此略。

5.说到这里,我们也可以再尝试一下:cal 9 1752 ,可以发现结果如下图:

           

我们可以发现,竟然9月2号过去就是9月14号。有人说这个是不是Linux cal的bug,其实不是的,那么中间的时间去哪里了呢?这里引出一个故事,大家看了就明白了:

1752年9月,大英帝国极其所属美洲殖民地的恺撒历法被格里高利教皇历法所取代。由于恺撒历法比格里高利历法迟11天,因此9月2日当天改历法后,次日须为9月14日。现行的公历是格利戈里历法,这个历法的是1582年教皇格利戈里根据恺撒大帝引进的算法改进的。它采用的是闰年制也就是现行的制度,不过有一个需要注意的地方就是,这个历法并不是连续的,中间缺少了11天。1752年9月2日之后的那一天并不是1752年9月3日,而是1752年9月14日。也就是说,从1752年9月3日到1752年9月13日的11天并不存在。抹掉这11天是由英国议会做出的决定。所以要计算某年每个月的天数的,除了要考虑是否是闰年以外,还要考虑1752年的9月。 (这段话出自:互动百科)

呵呵,看来Linux还有很多奇妙的事情等着挖掘。

 

---2013年5月6日17:25:19

 

转载于:https://www.cnblogs.com/haochuang/archive/2013/05/06/3063180.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408897.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python appium自动化测试平台开发,Python+Appium实现自动化测试

一、环境准备1.脚本语言:Python3.x IDE:安装Pycharm2.安装Java JDK 、Android SDK3.adb环境,path添加E:\Software\Android_SDK\platform-tools4.安装Appium for windows,官网地址http://appium.io/点击下载按钮会到GitHub的下载…

基于CNN的增量学习论文的读后感

最近在阅读几篇基于CNN的增量学习的论文。 《INCREMENTAL LEARNING WITH PRE-TRAINED CONVOLUTIONAL NEURAL NETWORKS AND BINARY ASSOCIATIVE MEMORIES》 09-19 阅读 第一篇论文是《INCREMENTAL LEARNING WITH PRE-TRAINED CONVOLUTIONAL NEURAL NETWORKS AND BINARY ASSOC…

Chrome浏览器兼容性 检测工具 (chrome插件)

近日 Google Chrome 组发起了浏览器兼容性检测工具(Chrome扩展)开源项目,能够自动检测网页中的兼容性问题。此工具已经实现了检测2010年9月Google在 Devfest北京会议上推出的w3help.org站点内所描述的部分兼容性问题。是前端兼容性工作必备辅助开发工具。 目前的版本…

卷积神经网络(CNN)介绍

简单介绍和总结卷积神经网络(Convolutional Neural Networks)的基本组成网络层和常用的网络结构。 参考文章/书籍: An Intuitive Explanation of Convolutional Neural Networks对CNN中pooling的理解《深度学习轻松学:核心算法与…

CC2540低功耗的内幕

一、概述 1、BLE蓝牙协议栈结构 附图6 BLE蓝牙协议栈结构图 分为两部分:控制器和主机。对于4.0以前的蓝牙,这两部分是分开的。所有profile(姑且称为剧本吧,用来定义设备或组件的角色)和应用都建构在GAP或GATT之上。下面…

前端开发怎么用php,做web前端开发怎么样?

前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲&#xff…

机器学习入门系列(1)--机器学习概览(上)

最近打算系统学习和整理机器学习方面的知识,会将之前看的 Andrew Ng 在 course 课程笔记以及最近看的书籍《hands-on-ml-with-sklearn-and-tf》结合起来,简单总结下机器学习的常用算法,由于数学功底有限,所以可能不会也暂时不能过…

[Google Code Jam] 2013-1A-C Good Luck 解法

问题的陈述在:https://code.google.com/codejam/contest/2418487/dashboard#sp2&a1, 官方的分析在:https://code.google.com/codejam/contest/2418487/dashboard#sa&a2。 这篇文章是结合官方的分析以及Dlougach的solution总结的解题思…

oracle 安装display,Linux安装Oracle 11时报错DISPLAY解决方案

在Linux上安装Oracle时,经常会报以下错误:无法使用命令 /usr/X11R6/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了DISPLA在Linux上安装Oracle时,经常会报以下错误:无法使用命令 /usr/X11R6/bin/xdpyinfo 自动检查显示器颜色…

机器学习入门系列(2)--机器学习概览(下)

这是本系列的第二篇,也是机器学习概览的下半部分,主要内容如下所示: 文章目录1. 机器学习的主要挑战1.1 训练数据量不足1.2 没有代表性的训练数据1.3 低质量的数据1.4 不相关的特征1.5 过拟合1.6 欠拟合2. 测试和评估3. 小结1. 机器学习的主要…

[实战] 图片转素描图

本文大约 2000 字,阅读大约需要 6 分钟 我们知道图片除了最普通的彩色图,还有很多类型,比如素描、卡通、黑白等等,今天就介绍如何使用 Python 和 Opencv 来实现图片变素描图。 主要参考这篇文章来实现–How to create a beautifu…

打印水仙花数oracle,javaScript实现回文数、水仙花数判断和输出斐波那契数列

javaScript实现回文数、水仙花数判断和输出斐波那契数列发布时间:2020-07-22 01:15:37来源:51CTO阅读:422作者:Cynthia_xie// 判断一个数是不是回文数// 方法一:先将数字转换成字符串,然后依次判断第一个和…

[实战]制作简单的公众号二维码关注图

本文大约 1933 字,阅读大约需要 6 分钟 最近刚刚更换了公众号名字,然后自然就需要更换下文章末尾的二维码关注图,但是之前是通过 windows 自带的画图软件做的,但是之前弄的时候其实还是比较麻烦的,所以我就想作为一名程…

155个建议笔记--建议33:不要覆写静态方法

我们知道在JAVA中可以通过overRide来增强或减弱父类的方法和行为,但覆写是针对非静态方法的,不能针对静态方法(也叫类方法),为什么呢?看一下下面的例子: View Code public class OverRideTepubl…

linux初始化进程ppid号,linux基础(十一)--系统初始化的简谈

我们在深入学习linux之前呢首先要了解其的引导加载过程,这样我们就可以在判断一些在系统初始化过程的出现问题的来源,并及时做出处理。这个过程大概分为【开机】——【BIOS】(CMOS)——【grub或者其他引导程序】——【kernel boot】(initrd文件)——【in…