10天干:甲乙丙丁戊己庚辛壬癸12地支:子丑寅卯辰巳午未申酉戌亥基本计算原理:已知农历年份lunarYear
天干计算法:农历年份减去3再除以10得到的余数对应的天干字就是干地支计算法:农历年份减去3再除以12得到的余数对应的地支字就是支基本举例:
甲午战争发生于1894年,八国联军侵华的1900年应是:庚子年今天是公历2018年3月12日农历年是2018年,对应干支纪年法中是戊戌年。。。天干地支纪年算法:
-(NSString*)ganzhiYear{//干指天干,共有10个符号NSArray*ganArray=@[@"甲",@"乙",@"丙",@"丁",@"戊",@"己",@"庚",@"辛",@"壬",@"癸"];//支指地支,共有12个符号:NSArray*zhiArray=@[@"子",@"丑",@"寅",@"卯",@"辰",@"巳",@"午",@"未",@"申",@"酉",@"戌",@"亥"];//天干计算法:年减去3再除以10得到的余数对应的天干字就是干//地支计算法:年减去3再除以12得到的余数对应的地支字就是支NSIntegerganIndex=(self.lunarYear-3)%10;NSIntegerzhiIndex=(self.lunarYear-3)%12;ganIndex=(ganIndex==0)10-1:ganIndex-1;zhiIndex=(zhiIndex==0)12-1:zhiIndex-1;return[NSStringstringWithFormat:@"%@%@年",ganArray[ganIndex],zhiArray[zhiIndex]];}
THE END