获取日期对应的农历年天干地支,生肖 范围1900-2100
using System.Globalization;
//获取某年是天干地支年,猫年狗年
/// <summary>
/// 获取年份天干地支,生肖
/// </summary>
/// <param name="dt">年月日:2009-09-09</param>
/// <returns>甲子,鼠</returns>
public string getNongLi(DateTime dt)
{
if (dt== null)
return "";
//1864年,甲子,鼠
ChineseLunisolarCalendar cc = new ChineseLunisolarCalendar();
int year = cc.GetYear(dt);
int month = cc.GetMonth(dt);
string[] Animals = { "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪" };
string[] Gan = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };
string[] Zhi = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };
string tiangan = "";
string dizhi = "";
string shengxiao = "";
//对给定年减1864用12求余
int mode12 = (year - 1864) % 12;
//对给定年减1864用10求余
int mode10= (year - 1864) % 10;
shengxiao = Animals[mode12];
tiangan = Gan[mode10];
dizhi = Zhi[mode12];
return tiangan + dizhi + "," + shengxiao;
}