/// <summary> /// 中国农历日子(不含年月) Substring方法从零计算起 /// 2012-02-21 今天是农历三十,发现万年历出错,改正过来。 /// 涂聚文 缔友计算机信息技术有限公司 捷为工作室 /// </summary> /// <param name="iDay">数字日子</param> /// <returns>农历日子</returns> public string FormatLunarDay(ushort iDay) { string szText1 = "初十廿三";//4 string szText2 = "一二三四五六七八九十";//10 string strDay; if ((iDay != 20) && (iDay != 30)) { strDay = szText1.Substring((iDay - 1) / 10, 1); strDay = strDay + szText2.Substring((iDay - 1) % 10, 1); } else { //strDay = szText1.Substring((iDay / 10)+1, 1); 在计算二十,三十报错,这是以一为计算起,这里汉字以一个字节算(和英文字母一样) strDay = szText1.Substring((iDay / 10) , 1); strDay = strDay + "十"; } return strDay; }
demo: http://www.dusystem.com/Calendar.aspx