精华内容
下载资源
问答
  • 三僚/廖传波“山中无甲子,寒尽不知” 这里提到的“甲子”指的其实是天干地支的古代纪年,引申的意思就是山中的时间变化不知不觉。这种纪年方式充分体现了古人的智慧,能够灵活运用十天干和十二地支会使你的生活...

     三僚/廖传波

    “山中无甲子,寒尽不知年”

         这里提到的“甲子”指的其实是天干地支的古代纪年法,引申的意思就是山中的时间变化不知不觉。这种纪年方式充分体现了古人的智慧,能够灵活运用十天干十二地支会使你的生活出现一些奇妙的变化,但是记忆天干地支的年月对于现代人而言无疑是一件困难的事情,下面为大家带来的是2020年天干地支对照表,供大家参考。

    f2ad2cae-411f-eb11-8da9-e4434bdf6706.jpeg

    什么是天干地支天干地支,简称为干支,源自中国远古时代对天象的观测。甲、乙、丙、丁、戊、己、庚、辛、壬、癸称为十天干,子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥称为十二地支。天干地支组成形成了古代纪年历法。十干和十二支依次相配,组成六十个基本单位,两者按固定的顺序相互配合,组成了干支纪元法。

    考古发现,在商朝后期帝王帝乙时的一块甲骨上,刻有完整的六十甲子,可能是当时的日历。这也说明在商朝时已经开始使用干支纪日了。根据考证,春秋时期鲁隐公三年二月己巳(公元前720年二月初十),曾发生一次日食。这是中国使用干支纪日的比较确切的证据。而使用皇帝年号纪年则是汉武帝时期建元年号。

    干支法在中国古代一直使用,从未间断。因此对研究历史非常有帮助,非常容易推算历史时间。

    如《冯婉贞》:“咸丰庚申,英法联军白海入侵。”咸丰,皇帝年号;庚申,干支纪年。

    中国在汉武帝以前用天干地支纪年;从汉武帝到清末,用皇帝年号加天干地支纪年;民国初期用民国诞生时间来纪年兼或使用公元纪年,民国以后广泛采用公元纪年。

     2020年1月天干地支日历对照表

    f8ad2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年2月天干地支日历对照表

    fdad2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年3月天干地支日历对照表

    01ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年4月天干地支日历对照表

    07ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年5月天干地支日历对照表

    0dae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年6月天干地支日历对照表

    19ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年7月天干地支日历对照表

    21ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年8月天干地支日历对照表

    26ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年9月天干地支日历对照表

    28ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年10月天干地支日历对照表

    2bae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年11月天干地支日历对照表

    2dae2cae-411f-eb11-8da9-e4434bdf6706.jpeg

      2020年12月天干地支日历对照表

    30ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg


         天干地支,我们总是会听老一辈的人说天干地支的一些知识,是不是有种“丈二和尚摸不着头脑”的感觉呢?其实天干地支总的来说呢就是古代的历法纪年,但如今更多的是用于卜卦,风水等地。

    天干和地支哪个重要?互相依存都重要

          研究八字,自然离不开天干和地支。因为天干就是体现天道,地支就是体现地道,人元就是人道;天地人三道,也就是人们常说的三才。有了三才,才能组合成为真实的世界。也有认为:天干主天道,地支主地道,而纳音主人道。但是,无论争议多大,天干主天道,地支主地道这个几乎是一个定论,大家都同意这种说法。

      在八字中论命体现中,有人重视天干,有人重视地支;古人大多重视天干,现代人大多重视地支,一直是个争议的话题,往往在实践中也就各有轻重的倾向。比如:有人不管八字中天干的通根情况如何,都将天干的字和地支的字一视同仁,都可以给100分。因为天干气纯,而地支一般都有杂气,这样一来地支,往往最多就是60到70分为常见。

      而有的理论,如果按照100分来评定五行力量的旺衰,天干只有36分,而地支为100分,即使地支有杂气,也会远远胜过天干,因为地支藏干本气最少也有60分,远远大于36分。这里的分歧也就显而易见。但是,无论分歧到底有多大,都认为,天干主禄,为外像;也就是人们所说的,富裕、地位、官职,起到了一个定向的作用。

      地支主吉凶、主顺逆,为内像,起到了一个定性的作用,却是没有争议的。天干好动,地支主静,天干气纯,发生关系相对比较单纯,简单;故此,天干只有合化,冲克的关系就可以看出。地支气杂,发生关系的相对比较复杂;故此地支有六合、三合、半三合(生、旺、墓均有)、六冲、三刑、六害、四绝、墓库、破害等等的关系就可以看出。

      所以,在八字研究中,对于地支的认识,是一个极为关键与重要的问题;很多人因此而穷究一生,也没有真正闹明白。这理的原因,出了古人着述中常常言简意赅之外,也因为现代人的思维,多是是西式教育的产物,都喜欢从概念去把握概念。与易学思维中要求从像数去把握概念具有很大的不同。当然,也因为地支关系的确复杂,往往变化多端有关系。

    往期精彩回顾 杨公风水九星峦头论穴

    李济深两朝显贵风水密码

    潘氏状元墓风水密码(有缘得地,以死求发)

    33ae2cae-411f-eb11-8da9-e4434bdf6706.png

    风水点穴五星峦头形体 台湾电视台讲述神秘三僚 杨公养老看雌雄,天下诸书对不同欢迎关注三僚杨公风水学

    弘扬中华传统文化

    传承杨公救贫精神

    37ae2cae-411f-eb11-8da9-e4434bdf6706.jpeg 扫一扫加微信咨询风水
    展开全文
  • 干支纪日从商朝便已开始,但其顺序到现在有无间断或错乱过,尚待考证。... 干支纪日是商朝历法的最大成就,这是现今已知世界最长的纪日,对于我国历史学,尤其是科学技术发展史的考证和研究,都是极为重要的...

        干支纪日从商朝便已开始,但其顺序到现在有无间断或错乱过,尚待考证。目前已确切知道的从春秋鲁隐公三年(公元前720年)二月己巳日起到清宣统三年(公元1911年)止(1912年民国元年采用公元纪年后,民间仍沿用)2600多年中从未间断和错乱过。 干支纪日法是商朝历法的最大成就,这是现今已知世界最长的纪日法,对于我国历史学,尤其是科学技术发展史的考证和研究,都是极为重要的记时标志,是我国一份珍贵的科学文化遗……


    #这是我跟据网上资料用shell脚本语言写的一个输出现在的天干地支 年和月 的程序,如有不对的地方还请大家给于帮助



    #!/bin/bash


    gan=$(($(date +%y)%10))

    #计算天干数的公式

    zhi=$(($(date +%Y)%12))

    计算地支数的公式

    z=$(date +%m%d)

    #计算月日的公式

    yue=$(date +%m)

    ri=$(date +%d)

    lichunri=$(( $(( $(( $(( $(date +%y) * 2422 ))+38700 )) / 10000 )) - $(( $(( $(date +%y) - 1 )) / 4 )) ))

    #天干地支里,每个干支年的开始是从立春开始,所以确定立春时间是判断这一年是哪个干支的重要依据,

    #$(( (( $(( $(( $(date +%y) * 2422 ))+38700 )) / 10000 )) - $(( $(( $(date +%y) - 1 )) / 4 )) ))


    case $gan in

    #这是计算当年天干的算法,如果当日的时间是立春以后,则天干 为c ,反之为 c-1


    # 甲  乙  丙  丁  戊  己  庚  辛  壬  癸

    # 4   5   6   7   8   9   10  1   2   3

    4)

    if [ "$z" -gt 020$lichunri ]

    then

    c="甲"

    else

    c="癸"

    fi

    ;;

    5)

           if [ "$z" -gt 020$lichunri ]

           then

           c="乙"

           else

           c="甲"

    fi

    ;;

    6)

           if [ "$z" -gt 020$lichunri ]

           then

           c="丙"

           else

           c="乙"

    fi

    ;;

    7)

           if [ "$z" -gt 020$lichunri ]

           then

           c="丁"

           else

           c="丙"

    fi

    ;;

    8)

           if [ "$z" -gt 020$lichunri ]

           then

           c="戊"

           else

           c="丁"

           fi


    ;;

    9)

           if [ "$z" -gt 020$lichunri ]

           then

           c="已"

           else

           c="戊"

           fi


    ;;

    0)

           if [ "$z" -gt 020$lichunri ]

           then

           c="庚"

           else

           c="已"

           fi


    ;;

    1)

           if [ "$z" -gt 020$lichunri ]

           then

           c="辛"

           else

           c="庚"

           fi


    ;;

    2)

           if [ "$z" -gt 020$lichunri ]

           then

           c="壬"

           else

           c="辛"

           fi


    ;;

    3)

    if [ "$z" -gt 020$lichunri ]

    then

    c="癸"

    else

    c="壬"

    fi

    esac



    #计算当年地支,如果当天日期在立春以后 地支为 d  ,反之为 d-1

    #   子 丑  寅  卯  辰  巳  午  未  申  酉  戌  亥

    #   4   5  6   7   8   9   10  11  12  1   2  3

    case $zhi in


    4)

           if [ "$z" -gt 020$lichunri ]

           then

           d="子"

           else

           d="亥"

    fi

    ;;

    5)

           if [ "$z" -gt 020$lichunri ]

           then

           d="丑"

           else

           d="子"

           fi

    ;;

    6)      

    if [ "$z" -gt 020$lichunri ]

           then

           d="寅"

           else

           d="丑"

           fi

    ;;

    7)

           if [ "$z" -gt 020$lichunri ]

           then

           d="卯"

           else

           d="寅"

           fi

    ;;

    8)

           if [ "$z" -gt 020$lichunri ]

           then

           d="辰"

           else

           d="卯"

           fi

    ;;

    9)

           if [ "$z" -gt 020$lichunri ]

           then

           d="巳"

           else

           d="辰"

           fi


    ;;

    10)

           if [ "$z" -gt 020$lichunri ]

           then

           d="午"

           else

           d="巳"

           fi

    ;;

    11)

           if [ "$z" -gt 020$lichunri ]

           then

           d="未"

           else

           d="午"

           fi

    ;;

    0)

           if [ "$z" -gt 020$lichunri ]

           then

           d="申"

           else

           d="未"

           fi

    ;;

    1)

           if [ "$z" -gt 020$lichunri ]

           then

           d="酉"

           else

           d="申"

           fi

    ;;

    2)

           if [ "$z" -gt 020$lichunri ]

           then

           d="戌"

           else

           d="酉"

           fi

    ;;

    3)

           if [ "$z" -gt 020$lichunri ]

           then

           d="亥"

           else

           d="戌"

           fi

    esac


    echo "$c$d年"

    #输出当前的天干地支


    #如果当前的天干地支为以下选项,则对应当年的 五行 和 ×××(这块也可以用数字代替汉字 “甲子”等)

    case $c$d in


    甲子)

    f="金"

    g="鼠"

    ;;

    乙丑)

    f="金"

    g="牛"

    ;;

    丙寅)

    f="火"

    g="虎"

    ;;

    丁卯)

    f="火"

    g="免"

    ;;

    戊辰)

    f="木"

    g="龙"

    ;;

    已巳)

    f="木"

    g="蛇"

    ;;

    庚午)

    f="土"

    g="马"

    ;;

    辛未)

    f="土"

    g="羊"

    ;;

    壬申)

    f="金"

    g="猴"

    ;;

    癸酉)

    f="金"

    g="鸡"

    ;;

    甲戌)

    f="火"

    g="狗"

    ;;

    乙亥)

    f="火"

    g="猪"

    ;;

    丙子)

    f="水"

    g="鼠"

    ;;

    丁丑)

    f="水"

    g="牛"

    ;;

    戊寅)

    f="土"

    g="虎"

    ;;

    已卯)

    f="土"

    g="免"

    ;;

    庚辰)

    f="金"

    g="龙"

    ;;

    辛巳)

    f="金"

    g="蛇"

    ;;

    壬午)

    f="木"

    g="马"

    ;;

    癸未)

    f="木"

    g="羊"

    ;;

    甲申)

    f="水"

    g="猴"

    ;;

    乙酉)

    f="水"

    g="鸡"

    ;;

    丙戌)

    f="土"

    g="狗"

    ;;

    丁亥)

    f="土"

    g="猪"

    ;;

    戊子)

    f="火"

    g="鼠"

    ;;

    己丑)

    f="火"

    g="牛"

    ;;

    庚寅)

    f="木"

    g="虎"

    ;;

    辛卯)

    f="木"

    g="免"

    ;;

    壬辰)

    f="水"

    g="龙"

    ;;

    癸巳)

    f="水"

    g="蛇"

    ;;

    甲午)

    f="金"

    g="马"

    ;;

    乙未)

    f="金"

    g="羊"

    ;;

    丙申)

    f="火"

    g="猴"

    ;;

    丁酉)

    f="火"

    g="鸡"

    ;;

    戊戌)

    f="木"

    g="狗"

    ;;

    已亥)

    f="木"

    g="猪"

    ;;

    庚子)

    f="土"

    g="鼠"

    ;;

    辛丑)

    f="土"

    g="牛"

    ;;

    壬寅)

    f="金"

    g="虎"

    ;;

    癸卯)

    f="金"

    g="免"

    ;;

    甲辰)

    f="火"

    g="龙"

    ;;

    乙巳)

    f="火"

    g="蛇"

    ;;

    丙午)

    f="水"

    g="马"

    ;;

    丁未)

    f="水"

    g="羊"

    ;;

    戊申)

    f="土"

    g="猴"

    ;;

    已酉)

    f="土"

    g="鸡"

    ;;

    庚戌)

    f="金"

    g="狗"

    ;;

    辛亥)

    f="金"

    g="猪"

    ;;

    壬子)

    f="木"

    g="鼠"

    ;;

    癸丑)

    f="木"

    g="牛"

    ;;

    甲寅)

    f="水"

    g="虎"

    ;;

    乙卯)

    f="水"

    g="免"

    ;;

    丙辰)

    f="土"

    g="龙"

    ;;

    丁巳)

    f="土"

    g="蛇"

    ;;

    戊午)

    f="火"

    g="马"

    ;;

    已未)

    f="火"

    g="羊"

    ;;

    庚申)

    f="木"

    g="猴"

    ;;

    辛酉)

    f="木"

    g="鸡"

    ;;

    壬戌)

    f="水"

    g="狗"

    ;;

    癸亥)

    f="水"

    g="猪"


    esac

    echo "$f命"

    echo "属$g"


    #输出当前的 五行 和×××


    #下面是计算月干支历,因每个干支月的交替是按24节气循环的,这里没有给出精确的24节气时间,所以在计算月干支时,如果在节气交替前后一天可能会不确。

    # 1/5 ; 2/4 ; 3/6 ; 4/5; 5/6; 6/6 ; 7/7 ; 8/8 ; 9/8 ; 10/8 ; 11/7 ;12/7


    #下面是计算月干支历

    case $c in

    #如果当前的天干在下面的选项里,则跟据节气交替日来判断这个月的干支。



    甲 | 已 )


    #如果现在的年天干 为 甲 或 乙。 则跟据节气交替日来判断这个月的干支


    case $yue in


    2)

    #2月

    if [ $ri -gt 4 ]

    then

    e="丙寅"

    else

    e="乙丑"

    fi

    ;;

    3)

    #3月

           if [ $ri -gt 6 ]

           then

           e="丁卯"

           else

           e="丙寅"

           fi


    ;;

    4)

    #4月

           if [ $ri -gt 5 ]

           then

           e="戊辰"

           else

           e="丁卯"

           fi


    ;;

    5)

    #5月

           if [ $ri -gt 6 ]

           then

           e="已巳"

           else

           e="戊辰"

           fi


    ;;

    6)

    #6月

           if [ $ri -gt 6 ]

           then

           e="庚午"

           else

           e="已巳"

           fi


    ;;

    7)

    #7月

           if [ $ri -gt 7 ]

           then

           e="辛未"

           else

           e="庚午"

           fi


    ;;

    8)

    #8月    

           if [ $ri -gt 8 ]

           then

           e="壬申"

           else

           e="辛未"

           fi


    ;;

    9)

    #9月

           if [ $ri -gt 8 ]

           then

           e="癸酉"

           else

           e="壬申"

           fi


    ;;

    10)

    #10月

           if [ $ri -gt 8 ]

           then

           e="甲戌"

           else

           e="癸酉"

           fi


    ;;

    11)

    #11月

           if [ $ri -gt 7 ]

           then

           e="乙亥"

           else

           e="甲戌"

           fi


    ;;

    12)

    #12月

           if  [ $ri -gt 7 ]

           then

           e="丙子"

           else

           e="乙亥"

           fi

    ;;

    1)

    #1月

           if  [ $ri -gt 6 ]

           then

           e="丁丑"

           else

           e="丙子"

           fi

    esac

    ;;

    乙 | 庚 )


    #如果现在的年天干 为 乙或庚。 则跟据节气交替日来判断这个月的干支


    case $yue in


    2)

    if [ $ri -gt 4 ]

    then

    e="戊寅"

    else

    e="丁丑"

    fi

    ;;

    3)

           if [ $ri -gt 6 ]

           then

           e="已卯"

           else

           e="戊寅"

           fi


    ;;

    4)

           if [ $ri -gt 5 ]

           then

           e="庚辰"

           else

           e="已卯"

           fi


    ;;

    5)

           if [ $ri -gt 6 ]

           then

           e="辛巳"

           else

           e="庚辰"

           fi


    ;;

    6)

           if [ $ri -gt 6 ]

           then

           e="壬午"

           else

           e="辛巳"

           fi


    ;;

    7)

           if [ $ri -gt 7 ]

           then

           e="癸未"

           else

           e="壬午"

           fi


    ;;

    8)

           if [ $ri -gt 8 ]

           then

           e="甲申"

           else

           e="癸未"

           fi


    ;;

    9)

           if [ $ri -gt 8 ]

           then

           e="乙酉"

           else

           e="甲申"

           fi


    ;;

    10)

           if [ $ri -gt 8 ]

           then

           e="丙戌"

           else

           e="乙酉"

           fi


    ;;

    11)

           if [ $ri -gt 7 ]

           then

           e="丁亥"

           else

           e="丙戌"

           fi


    ;;

    12)

           if  [ $ri -gt 7 ]

           then

           e="戊子"

           else

           e="丁亥"

           fi

    ;;

    1)

           if  [ $ri -gt 6 ]

           then

           e="已丑"

           else

           e="戊子"

    fi

    esac

    ;;


    丙 | 辛 )

    #如果现在的年天干 为 丙或辛。 则跟据节气交替日来判断这个月的干支


    case $yue in


    2)

    if [ $ri -gt 4 ]

    then

    e="庚寅"

    else

    e="已丑"

    fi

    ;;

    3)

           if [ $ri -gt 6 ]

           then

           e="辛卯"

           else

           e="庚寅"

           fi


    ;;

    4)

           if [ $ri -gt 5 ]

           then

           e="壬辰"

           else

           e="辛卯"

           fi


    ;;

    5)

           if [ $ri -gt 6 ]

           then

           e="癸巳"

           else

           e="壬辰"

           fi


    ;;

    6)

           if [ $ri -gt 6 ]

           then

           e="甲午"

           else

           e="癸巳"

           fi


    ;;

    7)

           if [ $ri -gt 7 ]

           then

           e="乙未"

           else

           e="甲午"

           fi


    ;;

    8)

           if [ $ri -gt 8 ]

           then

           e="丙申"

           else

           e="乙未"

           fi


    ;;

    9)

           if [ $ri -gt 8 ]

           then

           e="丁酉"

           else

           e="丙申"

           fi


    ;;

    10)

           if [ $ri -gt 8 ]

           then

           e="戊戌"

           else

           e="丁酉"

           fi


    ;;

    11)

           if [ $ri -gt 7 ]

           then

           e="已亥"

           else

           e="戊戌"

           fi


    ;;

    12)

           if  [ $ri -gt 7 ]

           then

           e="庚子"

           else

           e="已亥"

           fi

    ;;

    1)

           if  [ $ri -gt 6 ]

           then

           e="辛丑"

           else

           e="庚子"

    fi

    esac

    ;;


    丁 | 壬 )


    #如果现在的年天干 为 丁或壬。 则跟据节气交替日来判断这个月的干支

    case $yue in


    2)

    if [ $ri -gt 4 ]

    then

    e="壬寅"

    else

    e="辛丑"

    fi

    ;;

    3)

           if [ $ri -gt 6 ]

           then

           e="癸卯"

           else

           e="壬寅"

           fi


    ;;

    4)

           if [ $ri -gt 5 ]

           then

           e="甲辰"

           else

           e="癸卯"

           fi


    ;;

    5)

           if [ $ri -gt 6 ]

           then

           e="乙巳"

           else

           e="甲辰"

           fi


    ;;

    6)

           if [ $ri -gt 6 ]

           then

           e="丙午"

           else

           e="乙巳"

           fi


    ;;

    7)

           if [ $ri -gt 7 ]

           then

           e="丁未"

           else

           e="丙午"

           fi


    ;;

    8)

           if [ $ri -gt 8 ]

           then

           e="戊申"

           else

           e="丁未"

           fi


    ;;

    9)

           if [ $ri -gt 8 ]

           then

           e="已酉"

           else

           e="戊申"

           fi


    ;;

    10)

           if [ $ri -gt 8 ]

           then

           e="庚戌"

           else

           e="已酉"

           fi


    ;;

    11)

           if [ $ri -gt 7 ]

           then

           e="辛亥"

           else

           e="庚戌"

           fi


    ;;

    12)

           if  [ $ri -gt 7 ]

           then

           e="壬子"

           else

           e="辛亥"

           fi

    ;;

    1)

           if  [ $ri -gt 6 ]

           then

           e="癸丑"

           else

           e="壬子"

    fi

    esac

    ;;


    戊 | 癸 )

    #如果现在的年天干 为 戊或癸。 则跟据节气交替日来判断这个月的干支


    case $yue in


    2)

    if [ $ri -gt 4 ]

    then

    e="甲寅"

    else

    e="癸丑"

    fi

    ;;

    3)

           if [ $ri -gt 6 ]

           then

           e="乙卯"

           else

           e="甲寅"

           fi


    ;;

    4)

           if [ $ri -gt 5 ]

           then

           e="丙辰"

           else

           e="乙卯"

           fi


    ;;

    5)

           if [ $ri -gt 6 ]

           then

           e="丁巳"

           else

           e="丙辰"

           fi


    ;;

    6)

           if [ $ri -gt 6 ]

           then

           e="戊午"

           else

           e="丁巳"

           fi


    ;;

    7)

           if [ $ri -gt 7 ]

           then

           e="已未"

           else

           e="戊午"

           fi


    ;;

    8)

           if [ $ri -gt 8 ]

           then

           e="庚申"

           else

           e="已未"

           fi


    ;;

    9)

           if [ $ri -gt 8 ]

           then

           e="辛酉"

           else

           e="庚申"

           fi


    ;;

    10)

           if [ $ri -gt 8 ]

           then

           e="壬戌"

           else

           e="辛酉"

           fi


    ;;

    11)

           if [ $ri -gt 7 ]

           then

           e="癸亥"

           else

           e="壬戌"

           fi


    ;;

    12)

           if  [ $ri -gt 7 ]

           then

           e="甲子"

           else

           e="癸亥"

           fi

    ;;

    1)

           if  [ $ri -gt 6 ]

           then

           e="乙丑"

           else

           e="甲子"

         fi

    esac

    esac





    echo "$e月"

    #输出当前干支月

    sh /tmp/jr

    sh /tmp/js


    转载于:https://blog.51cto.com/liy607/1343322

    展开全文
  • 本人小白,初学C语言,用DEVC++编写的一个进行公历天干地支算法,欢迎指导
  • 天干地支算法

    2012-09-13 16:28:52
    天干地支算法 首先我们需要知道什么是天干什么是地支,有多少个天干多少个地支? 天干( Celestial Stem ) : 中国古代的一种文字计序符号,共10个字: 甲、乙、丙、丁、戊、己、庚、辛、壬、癸,循环使用。 ...

    天干地支算法

     

    首先我们需要知道什么是天干什么是地支,有多少个天干多少个地支?

     

    天干( Celestial Stem ) : 中国古代的一种文字计序符号,共10个字: 甲、乙、丙、丁、戊、己、庚、辛、壬、癸,循环使用。

     

    地支( Terrestrial Branch ) : 中国古代的一种文字计序符号,共12个字∶子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥,循环使用。

     

    天干寓意

      (甲)象草林破土而萌,阳在内而被阴包裹。又有认为,甲者铠甲也,把万物冲破其甲而突出了。

      (乙)草木初生,枝叶柔软屈曲伸长。乙者轧也。

      (丙)丙,炳也,如赫赫太阳,炎炎火光,万物皆炳然著见而明。

      (丁)壮也,草木成长壮实,好比人的成丁。

      (戊)茂也,象征大地草木茂盛。

      (己)起也,纪也,万物仰屈而起,有形可纪。

      (庚)更也,秋收而待来春。

      (辛)金味辛,物成而后有味。又有认为,辛者新也,万物肃然更改,秀实新成。

      (壬)妊也,阳气潜伏地中,万物怀妊。

        (癸)揆也,万物闭藏,怀妊地下,揆然明芽。

     

     

    地支寓意

      (子)孽也,草木生子,吸土中水分而出,为一阳萌的开始。

      (丑)纽也,草木在土中出芽,屈曲着将要冒出地面。

      (寅)演也,津也,寒土中屈曲的草木,迎着春阳从地面伸展。

      (卯)茂也,日照东方,万物滋茂。

      (辰)震也,伸也,万物震起而生,阳气生发已经过半。

      (巳)起也,万物盛长而起,阴气消尽,纯阳无阴。

      (午)仵也,万物丰满长大,阳起充盛,阴起开始萌生。

      (未)味也,果实成熟而有滋味。

      (申)身也,物体都已长成。

      (酉)老也,犹也,万物到这时都犹缩收敛。

      (戌)灭也,草木凋零,生气灭绝。

        (亥)劾也,阴气劾杀万物,到此已达极点

     

    天干地支两者组合中生成六十甲子所以古人便说六十岁为一甲子

     

    六十甲子循序:

    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.甲午 32.乙未 33.丙申 34.丁酉 35.戊戌 36.己亥 37.庚子 38.辛丑 39.任寅 40.癸卯

    41.甲辰 42.乙巳 43.丙午 44.丁未 45.戊申 46.己酉 47.庚戌 48.辛亥 49.壬子 50.癸丑

    51.甲寅 52.乙卯 53.丙辰 54.丁己 55.戊午 56.己未 57.庚申 58.辛酉 59.壬戌 60.癸亥

     

    好了上面的介绍只是很片面的有兴趣的朋友可以到网络上搜索一下相关的资料,哩到只系讲计算指定的年份是那个天干那个地支那个甲子。

    我们从上面了解到天干有 10个 地支有 12个 组合成60个甲子,OK 我地首先做成2个数组用来保存十天干和十二地支。

     

    天干 :甲 乙 丙 丁 戊 己 庚 辛 壬 癸

    地支 :子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥

     

    因为年干支的干支配合虽后代才有,但其应用是仍从公元后1年开始。刚好公元前第四年为甲子年,减去3是为了计算的方便,把公元前和公元后两者的记年法分开来言。根据《素问·六微旨要大论》中言“子甲相和,名曰岁立”理论,把公元后记年仍从甲子年开始,所以要减去前3年,目的是让公元后一年亦为甲子年。

    所以公式为: 天干 = ( 当前年份 — 3 ) Mod 10

    地支 = ( 当前年份 — 3 ) Mod 12

    天干地址下标分别为

     

    下标

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    天干

     

     

    地支

    (注:地支可以配合十二×××年一起计算)

    ×××

    亥猪

    子鼠

    丑牛

    寅虎

    卯兔

    辰龙

    巳蛇

    午马

    未羊

    申猴

    酉鸡

    戌狗

     

    六十甲子公式:天干 + 地支

     

    计算年份对应的天干地支甲子都出黎啦下面当然是事例啦!就拿2010年来计算一下。

     

    事例:

    Year = 2010

    Celestial Stem = ( Year – 3 ) Mod 10

    = ( 2010 – 3 ) Mod 10

    = 2007 Mod 10

    = 7

    = 庚

    Terrestrial Branch = ( Year – 3 ) Mod 12

    = ( 2010 – 3 ) Mod 12

    = 2007 Mod 12

    = 3

    =寅

    Chinese Animal = 寅虎

     

    A Cycle Of Sixty Years(甲子) = Celestial Stem + Terrestrial Branch

    = 庚寅

    得出既结果大家可以去网站搜查一下对不对

     

    月份的天干地支算法,以 2010年为事例我们先计算正月的天干地支

    正月天干=如果天干数小于5 公式上需要加上5 如果大于等于5公式上需要减去5,

    正月地支=年地支

    公式如下:

    正月天干= 2 × Year Celestial Stem — 4 + (Year Celestial Stem 〈 5 ) ? 5 : -5已经知道年份的天干数为7 大于5

    正月天干为 = 2 × Year Celestial Stem — 4 + -5

    = 2 × 7 — 4 + -5

    = 14 — 4 + -5

    = 5

    = 戊

    正月天干地址 = 九月天干 + Year Terrestrial Branch

    = 戊寅

     

    日天干地支算法公式:

    日天干:=( 4 * C + [ C / 4 ] + [ 5 * Y ] + [ Y / 4 ] + [ 3 * ( M + 1 ) / 5 ] + D – 3 ) Mod 10

    日地支:=( 8 * C + [ C / 4 ] + [ 5 * Y ] + [ Y / 4 ] + [ 3 * ( M + 1 ) / 5 ] + D + 7 + I ) Mod 12

    其中 C 代表年份头两位数 如: 2010年 C=20

    Y 代表年份尾两位数 如: 2010年 Y=10

    M代表月份数 如 2010年10月 M=10

    D 代表日数 如 2010年10月7日 D=7

    I 是需要判断当前月份是奇数月还是偶数月 奇数月I=0 偶数月 I=6

    [ ] 是取整数的意思

     

    从上面公式中可以简化为下面公式:

    日天干总数:G = 4 * C + [ C / 4 ] + [ 5 * Y ] + [ Y / 4 ] + [ 3 * ( M + 1 ) / 5 ] + D – 3

    日地支总数:Z = G + 4 * C + 10 + I

     

    日天干:= G Mod 10

    日地支:= Z Mod 12

     

    就以 2010年10月7日 来做例子

    日天干总数:G = 4 * C + [ C / 4 ] + [ 5 * Y ] + [ Y / 4 ] + [ 3 * ( M + 1 ) / 5 ] + D – 3

    G = 4 * 20 + [ 20 / 4 ] + [5 * 10 ] + [ 10 / 4 ] + [ 3 * ( 10 + 1 ) / 5 ] + 7 - 3

    G = 80 + 5 + 50 + 2 + 6 + 7 – 3

    G = 147

     

    日地支总数:Z = G + 4 * C + 10 + I 10月双数 I=6

    Z = 147 + 4 * 20 + 10 + 6

    Z = 147 + 80 + 10 + 6

    Z = 243

     

    日天干 : = G Mod 10 = 147 Mod 10 = 7 = 庚

    日地支 : = Z Mod 12 = 243 Mod 12 = 3 = 寅

    日天干地支为:庚寅

     

    二十四小时和十二时辰对照表

    子(23-01) 丑(01-03) 寅(03-05) 卯(05-07) 辰(07-09) 己(09-11)
    午(11-13) 未(13-15) 申(15-17) 酉(17-19) 戊(19-21) 亥(21-23)

    转载于:https://blog.51cto.com/346832171/989798

    展开全文
  • 己亥 壬寅等干支纪年,比如“岁在癸丑”虽然现在的我们很少用干支纪年了,但在历史考试题以及公务员考试题中难免会有计算天干地支的题目,就算不为了做题,了解一下干支纪年也是很有用的。下面分享一个比较...

    大家在看古代字画的时候一定会发现 己亥 壬寅等干支纪年法,比如“岁在癸丑”

    024236e73959034db0641e86204036b4.png

    虽然现在的我们很少用干支纪年法了,但在历史考试题以及公务员考试题中难免会有计算天干地支的题目,就算不为了做题,了解一下干支纪年法也是很有用的。下面分享一个比较简单的方法:

    十天干:

    甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)

    十二地支:

    子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、亥(hài)

    首先你得了解或者背过天干地支

    计算现在任意的一个年份的天干地支

    天干:年份减3,除以10,没有余数就是天干的最后一个,余数是1对应 甲 ,是2对应 乙 ,依次往后推

    地支:年份减3,除以12,没有余数就是地支的最后一个,余数是1对应 子 ,是2对应丑,依次往后推。

    例如2003年

    2003—3=2000 2000÷10=200 则天干为 癸

    2003—3=2000 2000÷12=166。。。。。。8 则地支为 未

    因此2003年是 癸未年

    例如2019年

    2019—3=2016 2016÷10=201。。。。。。6则天干为 己

    2019—3=2016 2016÷12=168 则地支为 亥

    因此2019年是己亥年

    展开全文
  • 干支纪日从商朝便已开始,但其顺序到现在有无间断或错乱过,尚待... 干支纪日是商朝历法的最大成就,这是现今已知世界最长的纪日,对于我国历史学,尤其是科学技术发展史的考证和研究,都是极为重要的记时标志,...
  • 1、天干地支对照表天干12345678910甲乙丙丁戊己庚辛壬癸地支123456789101112子丑寅卯辰巳午未申酉戌亥六十甲子(干支表)12345678910甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉111281920甲戌乙亥丙子丁丑戊寅己卯...
  • 农历天干地支算法

    千次阅读 2010-05-01 10:30:00
    干 支 纪  一.十支纪年是我国传统的纪年方法。 1.干和支的含义:干支天干地支的合称。 干指天干,共有10个符号: 1 2 3 4 5 6 7 8 9 10 甲 乙 丙 丁 戊 己 庚 辛 壬 癸 支指地支...
  • 日期与天干地支算法

    万次阅读 2013-09-17 21:37:53
    天干地支五行对照表 天干、地支与五行的对应表 甲 乙 丙 丁 戊 己 庚 辛 壬 癸 │ │ │ │ │ │ │ │ │ │ 阳 阴 阳 阴 阳 阴 阳 阴 阳 阴 木 木 火 火 土 土 金 金 水 水 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥...
  • 天干地支,简称“干支”。在中国古代的历法中,甲、乙、丙、丁、戊、己、庚、辛、壬、癸被称为“十天干”,子、丑、寅、卯、辰、巳、午、未、申、...天干地支算法1天干地支算法:一.公元后的:天干:甲4 乙5 丙6...
  • 借鉴网上的算法,进行改良1.[代码]天干地支算法1/*天干地支算法:一.公元后的:天干:甲4 乙5 丙6 丁7 戊8 己9 庚0 辛1 壬2 癸3如1894末尾一个数是4就甲,依此类推地支:子4 丑5 寅6 卯...
  • 天干地支,简称“干支”。在中国古代的历法中,甲、乙、丙、丁、戊、己、庚、辛、壬、癸被称为“十天干”,子、丑、寅、卯、辰、巳、午、未、申、...天干地支算法1天干地支算法:一.公元后的:天干:甲4 乙5 丙6...
  • 今天上午(2019.05.30),在学习黄帝内经时,正好学习到了天干地支,于是心中突发奇想,如何使用一种简单的算法能够准确的计算出天干地支呢? 起先,计算时是从公元0计算的,核对年份后,发现不正确,于是在书中...
  • 文章目录什么是天干地支公元元年尾数定天干余数定地支己亥杂诗更一般化干支计算 什么是天干地支 天干地支简称为干支, 十天干:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)...
  • 求“天干地支算法

    2011-10-08 23:39:36
    已知天干地支,求对应的数值。拒绝查表,最好有Java代码。 谢谢 如, 已知 甲子 求得结果 1 已知 壬辰 求得结果 29
  • 天干地支算法1 天干地支算法: 一.公元后的:天干:甲4 乙5 丙6 丁7 戊8 己9 庚0 辛1 壬2 癸3 如1894末尾一个数是4就甲,依此类推 地支:子4 丑5 寅6 卯7 辰8 巳9 午10 未11...
  • 农历天干地支算法源代码大全(javascript、vbscript、C#、flash、C++、C等等)WonSoft编文章提供计算农历天干地支及当年属相的算法源程序,使用的语言为Javascript、VBScript、C#等。一、C# 代码(1):原来还准备...
  • 父亲的小学文化程度,只对我说“天干分别为:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)...,地支分别为:子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)...,天干地支简称干支,又统统称为:六十花甲”之后的岁月里就给我一...
  • 和日转化为天干地支

    千次阅读 2017-05-12 10:37:02
    把绝对时间的具体一天转换为天干地址的两种算法 把绝对时间的具体年份转换为天干地址
  • 中国古代天干地支纪年

    千次阅读 2018-11-17 10:12:33
    古人纪年,多用干支纪年。 十天干者, 甲、乙、丙、丁、戊、己、庚、辛、壬、癸也 十二地支者,子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥也 干在上,支在下, 干支相配,不足则补位,补位有奇偶,奇补奇,...
  • 天干地支

    2015-03-06 14:15:52
    天干地支,简称“干支”,是夏历中用来编排号和日期用的。天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支:子、丑、寅、卯、辰、巳、午;十二生肖用于记天干地支计时。 天干   1 2 3 4 5 6...
  • 1:1900----2100年年干=尾数—3例:1969年年干=9—3=6,第6位天干就是已;2012年年干=2—3=9,第9位天干是壬(2不足减就补十成12)。2:1900----1999年年支=年尾二位数+1;2000----2099年年支=年尾二位数+5。例:...
  • 年份天干地支计算

    2015-06-29 00:09:33
    输入年份,计算天干地支
  • 天干地支纪年

    2009-11-23 22:40:00
    天干地支是早在公元前二千六百九十七,於中华始祖黄帝建国时,命大挠氏探察天地之气机,探究五行(金木水火土),始作甲、乙、丙、丁、戊、己、庚、辛、壬、癸等十天干,及子、丑、寅、卯、辰、巳、午、未、申、酉、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 779
精华内容 311
关键字:

年干支算法