分类：教育/科学-人文学科
问题：古人没有日历等工具，如何计年月日？ 
回答：干支是古人用于记年月日时的一种符号系统计算年月日时的干支可用公式求出             　　1 天干地支代表数及其阴阳属性       　　天干有十个，即:甲、乙、丙、丁、戊、己、庚、辛、壬、癸。地支有十二个，即:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。为了便于计算，将天干、地支用数字代表。　　2 计算原理       　　天干起于甲而终于癸，计有十数，地支起于子而终于亥，计有十二数，天干、地支二者相配合形成了甲子、乙丑、丙寅、丁卯……在配合上阴与阴相配，阳与阳相配，这样依据排列组合的方法，共有60种组合方法，即:1/2×C 101 ×C 121 =60。这种表示方法用以记录时间，每记录60个又循环回来，形成60环周，也就是每记录60个又重复1次。由于天干有10个，故依照次序，记录10个又循环1次，地支有12个，故依照次序，记录12个又循环1次。      　　假如，天干从戊开始，每记录10个后，又重新从戊开始。地支也一样，假如，地支从辰开始，每记录12个后，又重新从辰开始。  　　 　　3 计算基础       　　现在进入21世纪，为求其实用性，故以2001年的年干支、正月天干、元旦干支为基础，以下所列公式都是先计算所求年与2001年所差的年数X，然后在此基础上进行计算。所有基数都是2001年的年干支、正月天干、元旦干支的代表数，已知2001年的年干支为辛巳（其代表数分别为8、6），正月天干为庚（其代表数为7），元旦干支为甲子（其代表数分别为1、1）。  　　 　　4 年干支的计算方法  　　 　　4.1 年天干的计算方法       　　① X÷10，求余数。② 余数+基数8，如和大于10减10，所得数即为当年天干代表数。  　　 　　4.2 年地支的计算方法       　　① X÷12，求余数。② 余数+基数6，如和大于12减12，所得数即为当年地支代表数。  　　 　　4.3 举例       　　求2018年的干支:求天干:（2018-2001）÷10，余数为7，余数7+基数8，和大于10减10，所得数为5，即为戊的代表数。求地支:（2018-2001）÷12，余数为5，余数5+基数6，所得数为11，为戌的代表数。故2018年干支为戊戌。       　　5 月干支的计算方法       　　计算月干支以农历计。月的地支不变，正月的地支是寅，2月的地支是卯，3月的地支是辰，4月的地支是巳，5月的地支是午，6月的地支是未，7月的地支是申，8月的地支是酉，9月的地支是戌，10月的地支是亥，11月的地支是子，12月的地支是丑。十二地支与12个月份相配表如下（表2）:       　　表2 十二地支与12个月份相配表　（略） 　　正月的天干是随着年的天干而变化的。在这些变化规律中，有一个计算公式。  　　 　　5.1 正月天干计算方法       　　①X×12÷10，取余数。②余数+基数7，如和大于10时减10，所得数即为当年正月天干代表数。       　　5.2 所求月天干计算方法       　　①当年正月天干代表数+所求月数-1，如得数大于10时减10，所得数即为所求月天干代表数。  　　 　　5.3 举例       　　求2018年8月的天干:先求2018年正月的天干:（2018-2001）×12÷10，余4，加基数7，和大于10减10，得数为1，故2018年正月的干支为甲寅。则2018年8月的天干为:1+8-1=8，8为辛的代数。8月的地支为酉，故2018年8月的干支为辛酉。      　　再如2018年11月的天干为:1+11-1=11，和大于10减10，得数为1，1为甲的代表数，11月的地支为子，故2018年11月的干支为甲子。  　　 　　6 元旦干支的计算方法计算 　　元旦干支时，除了求X外，同时，还要计算从2001年以后到当年的闰年次数Y。X÷4=Y+余数。（注:逢百年不闰，逢四百年闰。）       　　6.1 求元旦天干方法       　　①（X×5+1）÷10，求余数。②余数+Y，如和大于10时减10，所得数即为所求元旦天干代表数。       　　6.2 求元旦地支方法       　　①（X×5+1）÷12，求余数。②余数+Y，如和大于12时减12，所得数即为所求元旦地支代表数。   6.3 举例       　　求2018年的元旦干支:X=17，Y=4。代入求元旦天干公式:（17×5+1）÷10，余数为6，6+4=10，10即为所求元旦天干代表数，10为癸的代表数。代入求元旦地支公式:（17×5+1）÷12，余数为2，2+4=6，6即为所求元旦地支代表数，6为巳的代表数。那么2018年的元旦干支为癸巳。  　　7 日干支的计算方法       　　求出元旦干支，依照求日干支公式，并查各月干支应加基数（见表3），便可求出当日干支。  　　 　　表3 各月干支应加基数表　（略） 　　7.1 求日天干方法       　　（当年元旦地支代表数+所求月应加的地支基数+所求日期）÷10，求余数，余数即为所求日天干代表数。       　　7.2 求日地支方法       　　（当年元旦地支代表数+所求月应加的地支基数+所求日期）÷12，求余数，余数即为所求地支代表数。       　　7.3 举例       　　求2018年3月6日（公历）的干支。求日天干:（10+8+6）÷10，余4，4为丁的代表数。求日地支:（6+10+6）÷12，余10，10为酉的代表数。那么，2018年3月6日的干支为丁酉。  　　 　　8 时干支的计算方法  　　 　　8.1 时的地支计算方法时的地支不变，即23～1时为子时，1～3时为丑时，3～5时为寅时，5～7时为卯时，7～9时为辰时，9～11时为巳时，11～13时为午时，13～15时为未时，15～17时为申时，17～19时为酉时，19～21时为戌时，21～23时为亥时。十二地支与十二时辰相配表如下（表4）:       　　表4 十二地支与十二时辰相配表　（略） 　　8.2 时的天干计算方法       　　时的天干依日的天干而定，其计算方法如下: 8.2.1 子时的天干计算方法2×当日天干代表数-1，如得数大于10时减10，所得数即为当日子时天干代表数。  　　 　　8.2.2 所求时的天干计算方法       　　子时的天干代表数+所求时的地支代表数-1，如得数大于10减10，所得数即为所求时的天干代表数。       　　8.2.3 举例        　　求2018年3月6日10时的干支。已知10时的地支为巳，6为巳的代表数。先求2018年3月6日子时的天干:2×4-1=7，7为庚的代表数，故子时的干支为庚子。10时的天干:7+6-1=12，和大于10，所得数为2，为乙的代表数，故10时的干支为乙巳。       　　9 小结       　　天干最大代表数为10，故得数大于10时，减10，地支最大代表数为12，故得数大于12时，减12。所加基数都是以2001年的年干支、正月天干、元旦干支的代表数为基础的，所以只要记住2001年的年干支、月干支、元旦干支的代表数，十二地支与十二月份相配表，十二地支与十二时辰相配表，各月干支应加基数表，便可根据公式，快速计算。