C#实现功能强大的中国农历日历操作类
程序员文章站
2023-12-13 10:17:10
本文实例讲述了c#实现功能强大的中国农历日历操作类。分享给大家供大家参考。具体如下:
这个c#类定义了中国农历日历,除了可以输入正常的日历外还可以获得指定年份的生肖、返回...
本文实例讲述了c#实现功能强大的中国农历日历操作类。分享给大家供大家参考。具体如下:
这个c#类定义了中国农历日历,除了可以输入正常的日历外还可以获得指定年份的生肖、返回年份的干支以及星座、二十四节气、二十八星宿、常用节日等。
部分代码片段如下
/// <summary> /// 传回农历y年闰月的天数 /// </summary> private static int leapdays(int y) { if (leapmonth(y) != 0) { if ((lunarinfo[y - 1900] & 0x10000) != 0) return 30; else return 29; } else return 0; } /// <summary> /// 传回农历y年闰哪个月 1-12 , 没闰传回 0 /// </summary> private static int leapmonth(int y) { return (int)(lunarinfo[y - 1900] & 0xf); } /// <summary> /// 传回农历y年m月的总天数 /// </summary> private static int monthdays(int y, int m) { if ((lunarinfo[y - 1900] & (0x10000 >> m)) == 0) return 29; else return 30; } /// <summary> /// 传回农历y年的生肖 /// </summary> private static string animalsyear(int y) { return animals[(y - 4) % 12]; } /// <summary> /// 传入月日的offset 传回干支,0=甲子 /// </summary> private static string cyclicalm(int num) { return (gan[num % 10] + zhi[num % 12]); } /// <summary> /// 传入offset 传回干支, 0=甲子 /// </summary> private static string cyclical(int y) { int num = y - 1900 + 36; return (cyclicalm(num)); }
完整实例代码点击此处本站下载。
希望本文所述对大家的c#程序设计有所帮助。