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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/// <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

posted @   ®Geovin Du Dream Park™  阅读(614)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
< 2012年2月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示