using System;
namespace yangliToyinli
{
#region ChineseCalendarException
/// <summary>
/// 中國日歷異常處理
/// </summary>
public class ChineseCalendarException : System.Exception
{
public ChineseCalendarException(string msg)
: base(msg)
{
}
}
#endregion
/// <summary>
/// 中國農(nóng)歷類 版本V1.0 支持 1900.1.31日起至 2049.12.31日止的數(shù)據(jù)
/// </summary>
/// <remarks>
/// 本程序使用數(shù)據(jù)來源于網(wǎng)上的萬年歷查詢,并綜合了一些其它數(shù)據(jù)
/// </remarks>
public class ChineseCalendar
{
#region 內(nèi)部結(jié)構(gòu)
private struct SolarHolidayStruct
{
public int Month;
public int Day;
public int Recess; //假期長度
public string HolidayName;
public SolarHolidayStruct(int month, int day, int recess, string name)
{
Month = month;
Day = day;
Recess = recess;
HolidayName = name;
}
}
private struct LunarHolidayStruct
{
public int Month;
public int Day;
public int Recess;
public string HolidayName;
public LunarHolidayStruct(int month, int day, int recess, string name)
{
Month = month;
Day = day;
Recess = recess;
HolidayName = name;
}
}
private struct WeekHolidayStruct
{
public int Month;
public int WeekAtMonth;
public int WeekDay;
public string HolidayName;
public WeekHolidayStruct(int month, int weekAtMonth, int weekDay, string name)
{
Month = month;
WeekAtMonth = weekAtMonth;
WeekDay = weekDay;
HolidayName = name;
}
}
#endregion
#region 內(nèi)部變量
private DateTime _date;
private DateTime _datetime;
private int _cYear;
private int _cMonth;
private int _cDay;
private bool _cIsLeapMonth; //當(dāng)月是否閏月
private bool _cIsLeapYear; //當(dāng)年是否有閏月
#endregion
#region 基礎(chǔ)數(shù)據(jù)
#region 基本常量
private const int MinYear = 1900;
private const int MaxYear = 2050;
private static DateTime MinDay = new DateTime(1900, 1, 30);
private static DateTime MaxDay = new DateTime(2049, 12, 31);
private const int GanZhiStartYear = 1864; //干支計(jì)算起始年
private static DateTime GanZhiStartDay = new DateTime(1899, 12, 22);//起始日
private const string HZNum = "零一二三四五六七八九";
private const int AnimalStartYear = 1900; //1900年為鼠年
private static DateTime ChineseConstellationReferDay = new DateTime(2007, 9, 13);//28星宿參考值,本日為角
#endregion
#region 陰歷數(shù)據(jù)
/// <summary>
/// 來源于網(wǎng)上的農(nóng)歷數(shù)據(jù)
/// </summary>
/// <remarks>
/// 數(shù)據(jù)結(jié)構(gòu)如下,共使用17位數(shù)據(jù)
/// 第17位:表示閏月天數(shù),0表示29天 1表示30天
/// 第16位-第5位(共12位)表示12個月,其中第16位表示第一月,如果該月為30天則為1,29天為0
/// 第4位-第1位(共4位)表示閏月是哪個月,如果當(dāng)年沒有閏月,則置0
///</remarks>
private static int[] LunarDateArray = new int[]{
0x04BD8,0x04AE0,0x0A570,0x054D5,0x0D260,0x0D950,0x16554,0x056A0,0x09AD0,0x055D2,
0x04AE0,0x0A5B6,0x0A4D0,0x0D250,0x1D255,0x0B540,0x0D6A0,0x0ADA2,0x095B0,0x14977,
0x04970,0x0A4B0,0x0B4B5,0x06A50,0x06D40,0x1AB54,0x02B60,0x09570,0x052F2,0x04970,
0x06566,0x0D4A0,0x0EA50,0x06E95,0x05AD0,0x02B60,0x186E3,0x092E0,0x1C8D7,0x0C950,
0x0D4A0,0x1D8A6,0x0B550,0x056A0,0x1A5B4,0x025D0,0x092D0,0x0D2B2,0x0A950,0x0B557,
0x06CA0,0x0B550,0x15355,0x04DA0,0x0A5B0,0x14573,0x052B0,0x0A9A8,0x0E950,0x06AA0,
0x0AEA6,0x0AB50,0x04B60,0x0AAE4,0x0A570,0x05260,0x0F263,0x0D950,0x05B57,0x056A0,
0x096D0,0x04DD5,0x04AD0,0x0A4D0,0x0D4D4,0x0D250,0x0D558,0x0B540,0x0B6A0,0x195A6,
0x095B0,0x049B0,0x0A974,0x0A4B0,0x0B27A,0x06A50,0x06D40,0x0AF46,0x0AB60,0x09570,
0x04AF5,0x04970,0x064B0,0x074A3,0x0EA50,0x06B58,0x055C0,0x0AB60,0x096D5,0x092E0,
0x0C960,0x0D954,0x0D4A0,0x0DA50,0x07552,0x056A0,0x0ABB7,0x025D0,0x092D0,0x0CAB5,
0x0A950,0x0B4A0,0x0BAA4,0x0AD50,0x055D9,0x04BA0,0x0A5B0,0x15176,0x052B0,0x0A930,
0x07954,0x06AA0,0x0AD50,0x05B52,0x04B60,0x0A6E6,0x0A4E0,0x0D260,0x0EA65,0x0D530,
0x05AA0,0x076A3,0x096D0,0x04BD7,0x04AD0,0x0A4D0,0x1D0B6,0x0D250,0x0D520,0x0DD45,
0x0B5A0,0x056D0,0x055B2,0x049B0,0x0A577,0x0A4B0,0x0AA50,0x1B255,0x06D20,0x0ADA0,
0x14B63
};
#endregion
#region 星座名稱
private static string[] _constellationName =
{
"白羊座", "金牛座", "雙子座",
"巨蟹座", "獅子座", "處女座",
"天秤座", "天蝎座", "射手座",
"摩羯座", "水瓶座", "雙魚座"
};
#endregion
#region 二十四節(jié)氣
private static string[] _lunarHolidayName =
{
"小寒", "大寒", "立春", "雨水",
"驚蟄", "春分", "清明", "谷雨",
"立夏", "小滿", "芒種", "夏至",
"小暑", "大暑", "立秋", "處暑",
"白露", "秋分", "寒露", "霜降",
"立冬", "小雪", "大雪", "冬至"
};
#endregion
#region 二十八星宿
private static string[] _chineseConstellationName =
{
//四 五 六 日 一 二 三
"角木蛟","亢金龍","女土蝠","房日兔","心月狐","尾火虎","箕水豹",
"斗木獬","牛金牛","氐土貉","虛日鼠","危月燕","室火豬","壁水
主站蜘蛛池模板:
欧美视频xxx
|
亚洲欧美另类在线观看
|
欧美成人精品一区二区男人看
|
黄色大片在线免费观看
|
成人影院欧美黄色
|
午夜婷婷色
|
日韩色|
热99re久久免费视精品频软件
|
亚洲成人精品网
|
欧美一区精品
|
久草电影网
|
日韩美女一区二区三区
|
中文字幕99
|
33eee在线视频免费观看
|
日本一区二区免费看
|
久草网址|
国产午夜精品一区二区
|
97伦理网
|
国产精品不卡视频
|
精品一区二区免费视频
|
一级欧美
|
青青草综合在线
|
久久人人爽爽爽人久久久
|
日韩成人在线观看视频
|
久久蜜臀精品av
|
欧美一级免费看
|
国产成人综合网
|
青草青草久热精品视频在线观看
|
午夜精品一区二区三区四区
|
久99视频|
久久国产视频网站
|
在线观看中文
|
777xacom|
一级毛片视屏
|
六月丁香在线观看
|
亚洲视频在线一区二区三区
|
欧美区日韩区
|
久久首页
|
日本啪啪网站
|
亚洲欧美综合精品久久成人
|
久久精品一区二区三区四区
|