/**
* <url>http://en.wikipedia.org/wiki/Sexagenary_cycle</url>
*/
public class Sexagenary {
/**
* 输入干支,输出对应数值。
*/
public static int getValue(Stems stems, Branches branches) {
int s = stems.ordinal() + 1;
int b = branches.ordinal() + 1;
int value = (6 * s - 5 * b + 60) % 60;
return value;
}
/**
* 输入数值,输出对应干支(String)
*/
public static String getStemsBranches(int num) {
if (num < 1 || num > 60) {
throw new IllegalArgumentException("Error input, num:" + num);
}
int s = ((num % 10) == 0) ? 10 : (num % 10);
int b = ((num % 12) == 0) ? 12 : (num % 12);
Stems stems = Stems.values()[s - 1];
Branches branches = Branches.values()[b - 1];
return "" + stems + branches;
}
public static void main(String[] args) {
System.out.println(Stems.甲);
System.out.println(Sexagenary.getStemsBranches(1)); // 甲子
System.out.println(Sexagenary.getStemsBranches(53)); // 丙辰
System.out.println("" + Sexagenary.getValue(Stems.甲, Branches.子)); // 1
System.out.println("" + Sexagenary.getValue(Stems.丙, Branches.辰)); // 53
System.out.println("" + Sexagenary.getValue(Stems.戊, Branches.午)); // 55
}
}
enum Stems {
甲, 乙, 丙, 丁, 戊, 己, 庚, 辛, 壬, 癸;
}
enum Branches {
子, 丑, 寅, 卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥;
}
分享到:
相关推荐
输入年份,计算天干地支
本人小白,初学C语言,用DEVC++编写的一个进行公历年和天干地支的算法,欢迎指导
在这里,我们将深入探讨如何利用易语言编写代码来获取特定日期对应的天干地支,并了解相关算法和实现细节。 首先,我们需要理解天干地支的组成和排列顺序。天干包括甲、乙、丙、丁、戊、己、庚、辛、壬、癸,地支则...
在易语言中,我们可以使用内置的日期时间函数来获取当前或指定日期的日、月、年信息,然后通过特定的算法将这些信息转换为对应的天干地支。这个过程通常包括以下步骤: 1. **获取日期**:首先,我们需要获取到一个...
1. 天干地支纪年法的基本概念和算法实现。 2. VC++编程,尤其是MFC框架的使用,包括视图、对话框、控件的创建和数据交换。 3. 算法设计,如求余数和循环逻辑。 4. 用户界面设计和人机交互,如输入验证和结果显示。 ...
2:提供农历年月日时的干支信息; 3:提供24节气信息及计算方法。理论上计算几百几千年的节气还是没什么问题的,甚至可以精确到分/秒。 但对于普通人来说,无非是查查最近几年几十年的节气,并且只需要精确到日,...
干支纪年法是中国古代的一种纪年方式,由十天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)和十二地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)循环组合而成,每60年为一个循环。而八字,又称为四柱,指...
在C#中实现农历计算,开发者需要对农历的规则有深入理解,包括闰月处理、节气转换以及天干地支的算法。源代码可能包含以下关键部分: 1. **日期转换**:将公历日期转换为农历日期。这通常涉及到农历月份和日期的...
【天干地支纪年法】是中国古代独特的纪年方式,源自古人对自然现象的观察。天干有十个,分别为甲、乙、丙、丁、戊、己、庚、辛、壬、癸,象征着树木的生长过程。地支则有十二个,包括子、丑、寅、卯、辰、巳、午、未...
干支纪年法是中国传统的纪年方式,由天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)和地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)组合而成,每60年一个循环。在JavaScript中实现干支纪年法的转换,...
1. **天干地支**:中国传统的纪年方式,由十天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)和十二地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)组成,每60年一个循环。插件应能计算出任何公历日期对应...
天干地支的纪年算法.doc
天干地支是一种纪年、纪月、纪日、纪时的方法,同时也被用在占卜、命理学等领域。在这个项目中,我们关注的是如何在编程环境中实现天干地支的转换。 天干有十个,依次是甲、乙、丙、丁、戊、己、庚、辛、壬、癸;...
1. 公元后的天干地支算法: 天干部分:将公元年的末尾数字与对应的天干序号匹配。例如,1894年的末尾数字是4,对应天干中的"甲"。 地支部分:将公元年除以12得到的余数作为地支的序号。如1894年除以12余数是10,...
理解这段源码,需要对易语言的基本语法和天干地支的算法有一定的了解。 在易语言中,进行天干地支计算通常涉及以下几个步骤: 1. **日期处理**:首先,程序需要获取用户输入或系统当前的日期。易语言提供了日期...
在“易语言取某日天干地支计算源码.zip”这个压缩包中,包含的是一段用易语言编写的源代码,其功能是计算特定日期对应的天干地支。在中国传统文化中,天干地支是一种纪年、纪月、纪日、纪时的方法,由十天干(甲、乙...
古代纪年法天干地支十二生肖二十四节气PPT课件.pptx 本PPT课件主要介绍了古代中国人的纪年法,包括天干地支、十二生肖和二十四节气的概念和计算方法。 首先,天干地支是中国古代用来纪年的方法。天干指的是天干的...
本项目主要涉及的是将阳历日期转化为农历,并同时提供天干地支、年份以及对应的生肖信息。以下是对这个代码实现的详细解释。 首先,我们要理解阳历和农历的基本概念。阳历,又称公历,是国际上普遍采用的日期系统,...
"火山安卓年份取天干地支.rar"这个压缩包文件显然与Android应用程序开发有关,特别是涉及到中国传统的天干地支日期表示法。天干地支是中国历法中用来标记年、月、日和时的一种方式,共有十天干(甲、乙、丙、丁、戊...