本实例主要介绍如何使用ChineseLunisolarCalendar类的GetSexagenaryYear方法和GetTerrestrialBranch方法来判断十二生肖年份。ChineseLunisolarCalendar类将时间分成多个部分来表示,如分成年、月和日。年按农历计算,而日和月按阳历计算。GetSexagenaryYear方法计算与指定日期对应的甲子(60年)循环中的年。语法格式如下:
public virtual int GetSexagenaryYear (DateTime time)
此方法返回甲子循环中的一个从1~60的数字,它与date参数对应。
GetTerrestrialBranch方法计算甲子(60年)循环中指定年份的地支。语法格式如下:
public int GetTerrestrialBranch (int sexagenaryYear)
参数sexagenaryYear是一个从1~60的整数,表示甲子循环中的一年。返回一个从1~12的整数。
主要代码如下:
private void button1_Click(object sender, EventArgs e)
{
System.Globalization.ChineseLunisolarCalendar chinseCaleander = new System.Globalization. ChineseLunisolarCalendar();
string TreeYear = "鼠牛虎兔龙蛇马羊猴鸡狗猪";
int intYear = chinseCaleander.GetSexagenaryYear(DateTime.Now);
string Tree = TreeYear.Substring(chinseCaleander.GetTerrestrialBranch(intYear) - 1, 1);
MessageBox.Show("今年是十二生肖"+Tree+"年", "判断十二生肖", MessageBoxButtons.OK, MessageBoxIcon. Information);