public string ChineseLunisolarDate(DateTime ADataTime)
{
var clc = new System.Globalization.ChineseLunisolarCalendar();
var year = clc.GetYear(ADataTime);
var month = clc.GetMonth(ADataTime);
var day = clc.GetDayOfMonth(ADataTime);
var leapMonth = clc.GetLeapMonth(year);
return string.Format("{0}{1} {2}年{3}{4}月{5}{6}"
, "甲乙丙丁戊己庚辛壬癸"[(year - 4) % 10]
, "子丑寅卯辰巳午未申酉戌亥"[(year - 4) % 12]
, "鼠牛虎兔龙蛇马羊猴鸡狗猪"[(year - 4) % 12]
, month == leapMonth ? "润" : ""
, "无正二三四五六七八九十冬腊"[leapMonth > 0 && leapMonth <= month ? month - 1 : month]
, "初十廿三"[day / 10]
, "日一二三四五六七八九"[day % 10]
);
}
private void Form1_Load(object sender, EventArgs e)
{
dateTimePicker1_ValueChanged(dateTimePicker1, EventArgs.Empty);
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
textBox1.Text = ChineseLunisolarDate(((DateTimePicker)sender).Value);
}
//System.Globalization.EastAsianLunisolarCalendar
//System.Globalization.TaiwanLunisolarCalendar
//System.Globalization.ThaiBuddhistCalendar
//System.Globalization.KoreanLunisolarCalendar
//System.Globalization.JapaneseLunisolarCalendar
//System.Globalization.HebrewCalendar
//System.Globalization.HijriCalendar
//System.Globalization.JapaneseCalendar