private static DateTime GanZhiStartDay = new DateTime(1899, 12, 22);
private static string ganStr = "甲乙丙丁戊己庚辛壬癸";
private static string zhiStr = "子丑寅卯辰巳午未申酉戌亥";
private static string GetChineseHour(int hour, int minute, DateTime dt)
{
int _hour, _minute, offset, i;
int indexGan;
string tmpGan;
//计算时辰的地支
_hour = hour;
_minute = minute;
if (_minute != 0) _hour += 1;
offset = _hour / 2;
if (offset >= 12) offset = 0;
//计算天干
TimeSpan ts = dt - GanZhiStartDay;
i = ts.Days % 60;
indexGan = ((i % 10 + 1) * 2 - 1) % 10 - 1;
tmpGan = ganStr.Substring(indexGan) + ganStr.Substring(0, indexGan + 2);
return tmpGan[offset].ToString() + zhiStr[offset].ToString();
}