写日历的程序员,你必须弄懂的中国农历算法。 NANSHAN即时通讯,我们知道农历通过置闰月的方式协调农历年和回归年长度不相等的问题,也知道了置闰的方法是“中气置闰”法,那么到底什么是“中气”,又是如何定中气置闰月呢?要回答这个问题,就需要介绍另一个天文现象――节气。二十四节气起源于黄河流域,远在春秋时代,就定出仲春、仲夏、仲秋和仲冬等四个节气。以后不断地改进与完善,到秦汉年间,二十四节气已完全确立,汉武帝太初元年(公元104年)制定的《太初历》,则第一次从历法上明确了二十四节气的天文位置。

地球沿着一个近似椭圆轨道绕太阳公转,这个公转轨道所在的平面就是“黄道面”,黄道面向外延伸与天球的交线就是“黄道”。古人由于观测条件限制,只能根据视觉感觉认为是太阳沿着黄道绕地球运转,因此设定太阳从黄经(黄道经度)零度起(以春分点为起点自西向东度量),将太阳沿黄经每运行15度所经历的时日称为“一个节气”。太阳每年运行360度,共经历二十四个节气,春季的节气有立春(315度)、雨水(330度)、惊蛰(345度)、春分(0度、360度)、清明(15度)和谷雨(30度),夏季的节气有立夏(45度)、小满(60度)、芒种(75度)、夏至(90度)、小暑(105度)和大暑(120度),秋季的节气有立秋(135度)、处暑(150度)、白露(165度)、秋分(180度)、寒露(195度)和霜降(210度)。冬季的节气有立冬(225度)、小雪(240度)、大雪(255度)、冬至(270度)、小寒(285度)和大寒(300度)。二十四节气又细分为十二节气和十二中气,二十四节气按照顺序排在奇数位置上的就是节气,排在偶数位置上的就是中气。也就是说,立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪和小寒就是十二个节气,而雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪、冬至和大寒就是十二个中气。二十四个节气平分在公历的12个月中,每月一节气一中气。二十四节气反映了太阳的周年运动(以地球为参照物的视运动),所以节气在现行的公历中日期基本固定,上半年在6日、21日,下半年在8日、23日,前后不差 1~2天。中国民间流传的《二十四节气歌》就是为了方便记忆这些节气:

春雨惊春清谷天,

夏满芒夏暑相连,

秋处露秋寒霜降,

冬雪雪冬小大寒,

每月两节不变更,

最多相差一两天。

写日历的程序员,你必须弄懂的中国农历算法。相关推荐

  1. 一文解析JVM的内存结构,身为程序员还不弄懂JVM怎么行

    欢迎关注专栏:Java架构技术进阶.里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦.微信公众号:慕容千语的架构笔记.欢迎关注一起进步. 前言 Jvm的内存结构是由<jav ...

  2. 只会写代码的程序员永远无法出色?!

    程序员和常人有着什么样的区别?是否所有的程序员都是天然呆?为何女性程序员的人数要远远少于男性?在本文中,我们将带着种种疑问深入探讨计算机程序员中的文化. 作者 | Jennifer Ouellette ...

  3. 徐磊(Devops):一名写了十几年代码但还没写够的程序员

    徐磊(Devops 社区领袖) [个人介绍] 徐磊,微软MVP(微软最有价值专家,大中华区域社区技术总监,Devops 社区领袖),从事过网管.技术支持.网络.软件开发等工作,一名写了十几年代码但还没 ...

  4. 除了写代码,程序员还能做哪些副业呢?

    作者 | 沉默王二 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 许多年轻程序员会单纯地认为:"只要做一名正儿八经的程序员,在技术上深耕细作,在工作上兢兢业业,就一定能 ...

  5. 一月集 一个会写诗的程序员2019

    冬至 ,昼与惆怅最短,夜与思念最长,愿你一切都好. --光剑 任何年龄的爱情都是合情合理的.心灵的爱情在腰部以上,肉体的爱情在腰部往下.任何年龄段的女人,都有她在那个年龄阶段所呈现出来的无法复刻的美. ...

  6. 二零一九第二天 文/一个会写诗的程序员

    今天是二零一九年 第二天 天气依然阴冷 而我感觉 这新的一年开始 也并没有什么不同 而是,变得更加 凄凉萧条 孤寂寒冷了 "我相信会变,但只是更糟" 一个会写诗的程序员 杭州 20 ...

  7. 写程序关键是真正自己开始动手写,不要总是想着等全部弄懂了再写

    //写程序关键是真正自己开始动手写,不要总是想着等全部弄懂了再写,可以自己先定个小目标,先写个小点简单点的功能,再一步步往上加.真正自己写起来之后其实感觉也还好.你甚至就可以根据自己的理解去写. // ...

  8. 不写情书,程序员为什么还要学写作?

    跟小伙伴们一样,老兵哥也年轻过,在花季雨季也写过情书,不过经常石沉大海.当时特别希望自己的文笔好一些,像小说影视作品中的男猪脚那样一封书信就可以俘获菇凉的芳心.现今娃娃都能打酱油了,原来情书的效用早就 ...

  9. 听心 文/一个会写诗的程序员

    听心 这温暖在我心间 伴随我想你的每天 那一刻沉重的心 此刻感到从没有的轻盈 你千万要认真对待 一个敏感脆弱的诗人 那颗柔弱的心 它一遇到伤害 就立马化成石块 不过我这颗心没事 我是铁石心肠 也会柔情 ...

最新文章

  1. Unity屏幕射线碰撞
  2. NYOJ 714 Card Trick
  3. 为什么 C++ 中提倡尽量避免使用宏 #define(转)
  4. 聚类算法之DBScan(Java实现)[转]
  5. 提高你css技能的css开发技巧
  6. 下一代面向知识的 BI 到底有何不同,从 nextionBI 数据解读能力中一探究竟
  7. R.java文件无法自动生成的问题
  8. iOS开发之常见的URLScheme
  9. 信用卡+购物商城+ATM管理练习
  10. 双色球历史数据下载最新2003年2021年
  11. pg库和mysql的优缺点_PostgreSQL的优缺点
  12. 全院级pacs系统中前置服务器,PACS系统性能优化的实施与体会——蒋昆 李哲 赵海涛...
  13. 【前端基础】Vue学习笔记
  14. 手把手教你申请EVUS美国十年签证!11月29日以后要收费了!
  15. android 手柄助手,新游手柄助手app
  16. 在高通410c开发板使用PyQt开发电动窗帘Demo(五)
  17. pc端ui图片尺寸_pc端常用电脑屏幕 ((响应式PC端媒体查询)电脑屏幕分辨率尺寸大全)...
  18. PHP(10):PHP读取Excel文件的记录-方法2
  19. oracle存储过程怎么做加密,Oracle存储过程加密实现方法
  20. 作业四:用例建模 - 绘制用例图

热门文章

  1. python md5解密_python 生成文件MD5码
  2. java if 赋值语句_Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似....
  3. xp变量 java_winxp系统设置java环境变量的详细教程
  4. 定时器Timer的实现
  5. 内向的人可以做产品经理吗?
  6. python字符串相关习题
  7. 输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)
  8. java signal handler_JAVA优雅停机的实现
  9. python编辑器安装视频教程_Python安装教程(推荐一款不错的Python编辑器)
  10. 2017第四届中国国际大数据大会成功召开