csharp 在万年历中计算显示农历日子出错

来源:互联网 发布:儿童学编程的好处 编辑:程序博客网 时间:2024/06/08 08:34
        /// <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:
点击打开链接