C#实现功能强大的中国农历日历操作类
作者:lele
这篇文章主要介绍了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#程序设计有所帮助。