今天在Linux系统中使用字符命令查看万年历,突然发现1752年9月份少了11天,感觉很奇怪!难道是万年历出错了?还是历史上根本就没有那几天?还是我的机子出现了问题?总之猜测了一切的可能,可都是没有依据的猜测!大家也可以试试,看看效果,也许你会因此对Linux产生兴趣呢!

#cal 9 1752

September 1752
Su Mo Tu We Th Fr Sa
      1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

这是最终的结果。于是我就感觉纳闷了,问题到底出在哪呢!为此查了一些资料,解释如下:

   我们知道,地球环绕太阳转动的周期是365.2422天,而早先人们所使用的儒略历中,因为每4年加进了1个闰日,即2月29日,所以平均下来,每一个儒略年为365.25天。可千万不要小看了这0.0078天(约11分14秒)的差别。一两年还无所谓,甚至十年二十年也过得去,可是几百年积累下来就非同小可了。事实上,在13世纪时,儒略年比实际的天象已经超出了8天,春分日竟然变成了3月13日,而天文学上规定应当是3月21日。当时杰出的思想家、科学家、哲学家罗吉尔·培根,特意于1263年致信罗马教皇乌尔班四世,敦促他们研究解决这个大问题(当时的制历权在教会)。

可谁也没有想到,这个看似简单的问题却难倒了教廷,一直拖了三百多年,致使误差进一步扩大到10天。直到1582年,格里果里十三世教皇才同意了一位业余天文学家的方案,颁发了改儒略历为格里历的法令,其实,改变的实质主要有二:即在当年扣除多余的10天,具体说来说是把1582年10月4日(星期四)后面的那一天,作为10月15日星期五(本应是10月5日星期五);今后凡不能被400整除的世纪年,如1700年、1800年、1900年等不再作闰年,只有如1600年、2000年等那样可以被400除尽的年份才仍用闰年。这实际意味着在每400年中加了397个闰日,比原先少了整整3天,也说是说,在新的格里历中,一年长度平均是365.2425天,这与实际年长只差25.9秒,足可保证在二三千年内不出差错。

现行的公历是格利戈里历法,这个历法的是1582年教皇格利戈里根据恺撒大帝引进的算法改进的。它采用的是闰年制也就是现行的制度,不过有一个需要注意的地方就是,这个历法并不是连续的,中间缺少了11天。1752年9月2日之后的那一天并不是1752年9月3日,而是1752年9月14日。也就是说,从1752年9月3日到1752年9月13日的11天并不存在。抹掉这11天是由英国议会做出的决定。所以要计算某年每个月的天数的,除了要考虑是否是闰年以外,还要考虑1752年的9月。

   如果你想试试的话,请你在Linux系统下试验,因为windows系统是没办法得出真正的万年历的,他的最早日期只能达到1980年!但是Linux是真正实现了万年历!

(2012-04-14,文章来源:http://blog.sina.com.cn/s/blog_66b8d08a0100hyon.html)

Linux万年历中1752年9月少了11天!!相关推荐

  1. linux内存剩余量为什么这么少,为什么我的Linux系统中空闲内存如此之少?

    "How come there is only so few free memory on my Linux PC?" Come to same question? No matt ...

  2. 1752年9月-----消失的那11天

    unix/linux下执行:cal 9 1752 显示: September 1752  Su Mo Tu We Th Fr Sa 1 2 14 15 16 17 18 19 20 21 22 23 ...

  3. 1752年9月为什么少了11天

    9月2日之后就变成9月14日,中间的11天凭空消失了? 这是为什么呢,感觉挺有趣的,就查了下, 究其原因:cal 指令源自美国 AT&T 的 UNIX,也因此继承了美国的历史.时间回到 175 ...

  4. Linux 内核中的 GCC 特性(zz)

    from:http://www.ibm.com/developerworks/cn/linux/l-gcc-hacks/ GCC 和 Linux 是出色的组合.尽管它们是独立的软件,但是 Linux ...

  5. 在Linux系统中运行.net程序——Mono介绍

    Mono介绍 来源:互联网 收集:梦幻网络 本站网址:www.7139.com 点击数: <script src="http://www.7139.com/jsxy/GetHits.a ...

  6. 在linux系统中查看组管理信息命令,Linux常用命令(五)账号和组管理

    Linux常用命令(五)账号和组管理 一.管理用户账号 1.用户账号的分类 ■超级用户:root用户是Linux系统中默认的超级用户账号,对本主机拥有最大的权限,类似于Windows          ...

  7. Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理

    Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理 目录 Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理 一.简单介绍 二.常用命令 1. 打开终端 :Ctrl ...

  8. linux uid 不同用户,Linux系统中每个用户都有一个唯一的UID,超级用户的UID是 。

    Linux系统中每个用户都有一个唯一的UID,超级用户的UID是 . 0.5用分数表示是______,约成最简分数是______.线偏振光在n1和n2介质的界面上发生全反射,线偏振光电矢量的振动方向与 ...

  9. Linux阅码场 - Linux内核月报(2020年12月)

    关于Linux内核月报 Linux阅码场 Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向. 限于篇幅,只会对最新技术 ...

最新文章

  1. mysql 事务隔离规范_MySQL事务隔离级别以及脏读、幻读、不可重复读示例
  2. CF1397B Power Sequence(大胆枚举)
  3. 知识图普嵌入技术的极简教程:KGE以及如何计算它们
  4. 解析Jquery取得iframe中元素的几种方法
  5. 【Socket网络编程】14. perror()、errno 的使用
  6. leetcode 396. Rotate Function | 396. 旋转函数(错位相减)
  7. C#连接Excel和Access(包括2003和2007版)方法总结
  8. shell题库选择题_shell学习:几道常见shell习题
  9. 流之过滤器流(将过滤器串链在一起)
  10. rtsp转rtmp服务linux,ubuntu安装流媒体服务器(nginx+rtmp,rtsp转rtmp,rtsp转m3u8)
  11. 使用nsenter进入Docker容器
  12. C# 登陆验证码工具类VerifyCode
  13. Unity zSpace 开发
  14. Graph_Master(连通分量_C_Trajan缩点+最小路径覆盖)
  15. dat格式文件转shp
  16. BufferedReader.readLine() 日文乱码
  17. Android初学之十二:Broadcast
  18. 使Android Home键,Power键等按钮失效
  19. EXCEL做数据-自用笔记(幼儿园级别)
  20. TensorFlow笔记(7) 多神经元分类

热门文章

  1. ArcMap菜单栏和工具中文字和图标随系统缩放进行自适应调整
  2. 深挖数据价值,英特尔加速医院数字化转型
  3. 服务器显示tl是什么意思,-tl 数据库服务器选项
  4. 设计模式——代理模式(Proxy Pattern)之为别人做嫁衣
  5. 从被几亿人上的12306想到的
  6. 如何把多家运营商网络接入同一个局域网?
  7. java实现银行ATM机操作
  8. 用sql解析通达信二进制day文件,得到历史股价数据
  9. WhatsApp宣布对所有通讯信息进行端到端加密
  10. 计算机数控的发展历程,数控技术的发展趋势和发展过程