zoukankan      html  css  js  c++  java
  • 万年历-农历-干支纪年法

    干支纪年法的简便算法
    传统的计算法,必须知道一个已知年,然后往前后推算,有一定的难度,下面我给大家介绍一种干支纪年法的简便算法,每个字都有对应的一个符号。如下表:
    4 5 6 7 8 9 0 1 2 3
    甲 乙 丙 丁 戊 己 庚 辛 壬 癸

    4 5 6 7 8 9 10 11 0 1 2 3
    子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥

    4 5 6 7 8 9 10 11 0 1 2 3
    鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪

    年份的最后一个数字就对应天干的相应的字,然后用年份除以12所得的余数,用这个余数去找相对应的地支字和十二生肖字,于是天干地支字的组合便是干支纪年,对应的生肖字便是生肖纪年。

    如2006年,6对应的天干字是丙字,2006
    除以12的余数是2,2所对应的地支字是戌字,所对应的生肖字狗字,所以2006年是丙戌年,狗年。1898年,8对应的天干字是戊字,1898除以12的余数是2,2所对应的地支字是戌字,所对应的生肖字狗字,所以18986年是戊戌年,狗年。1911年,1对应的天干字是辛字,1911除以12的余数是3,3所对应的地支字是亥字,所对应的生肖字猪,所以1911年是辛亥年,猪年。1901年,1对应的天干字是辛字,1901除以12的余数是5,5所对应的地支字是丑,所对应的生肖字牛,所以1901年是辛丑年,牛年。


    2.干支记月

    年 份 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月
    甲、巳 丙寅 丁卯 戊辰 己巳 庚午 辛未 壬申 癸酉 甲戌 乙亥 丙子 丁丑
    乙、庚 戊寅 己卯 庚辰 辛巳 壬午 癸未 甲申 乙酉 丙戌 丁亥 戊子 己丑
    丙、辛 庚寅 辛卯 壬辰 癸巳 甲午 乙未 丙申 丁酉 戊戌 己亥 庚子 辛丑
    丁、壬 壬寅 癸卯 甲辰 乙巳 丙午 丁未 戊申 己酉 庚戌 辛亥 壬子 癸丑
    戊、癸 甲寅 乙卯 丙辰 丁巳 戊午 己未 庚申 辛酉 壬戌 癸亥 甲子 乙丑


    注:干支与阳历一样都是以地球公转周期计算的,阴历最好转为阳历再计算,干支的月份是以二十四节气为起始,和阴历阳历的月份都没有直接关系

    3.干支记日

    G = 4C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d -3
    Z = 8C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d + 7 + i

      其中 C 是世纪数减一,y 是年份后两位,M 是月份,d是日数。1月和2月按上一年的13月和14月来算。奇数月i=0,偶数月i=6。G 除以10的余数是天干,Z除以12的余数是地支。
      计算时带[ ]的数表示取整。

  • 相关阅读:
    x64 寄存器使用
    汇编语言学习笔记(十二)-浮点指令----ACM
    浮点数的加减计算总结
    Mobile First! Wijmo 5 之 架构
    CSDN头版头条 《近匠》 Wijmo 5 CTO:从Web到移动,我的25年编程生涯
    超越Web,Javascript在物联网的应用
    《我与葡萄城的故事》— 征文大赛
    介绍一款开源的类Excel电子表格软件
    2014年GDG西安 -- DevFest Season1
    异步陷阱之死锁篇
  • 原文地址:https://www.cnblogs.com/hbf369/p/3593624.html
Copyright © 2011-2022 走看看