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

        /// <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

哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)成功.---Geovin Du(涂聚文)
原文地址:https://www.cnblogs.com/geovindu/p/2360923.html