示例#1
0
文件: Form1.cs 项目: chenli118/QMDJ
        private int GetJu(string gz)
        {
            int ju   = -1;
            int x    = 0;
            int yuan = -1;

            for (int i = 0; i < 60; i++)
            {
                if (gz60[i] == gz)
                {
                    x = x + 1;
                    if (i > 15)
                    {
                        x = i % 15;
                    }
                    if (x > 0 && x <= 5)
                    {
                        yuan = 1;
                    }
                    else if (x / 5 < 2 || x == 10)
                    {
                        yuan = 2;
                    }
                    else
                    {
                        yuan = 3;
                    }
                    break;
                }
            }
            ju = JieQiHelper.GetJuByJieQi(jieQi.Trim().Substring(0, 2), yuan);
            return(ju);
        }
示例#2
0
文件: Form1.cs 项目: chenli118/QMDJ
        private void CalCurrentAllGZ(int day, string jd, string jm, string jy, string jnd, string jnm)
        {
            int g = DyadicArrayHelper.GetArrayIndexByValue(ganArr, jd.Substring(0, 1));
            int z = DyadicArrayHelper.GetArrayIndexByValue(zhiArr, jd.Substring(1, 1));

            day = day - 1;//约一个记时日,因交节气时间不可能是24:00,时家奇门,如果有刻奇门,或分奇门理论上要比时家奇门要精确。
            for (int i = 0; i <= day; i++)
            {
                g++;
                if (g > 9)
                {
                    g = g - 10;
                }
                z++;
                if (z > 11)
                {
                    z = z - 12;
                }
            }
            dayGZ   = ganArr[g] + zhiArr[z];//得到日干支
            yearGZ  = jy;
            monthGZ = jm;
            int monthIndex = DyadicArrayHelper.GetArrayIndexByValue(JieQiHelper.Days(true).ToArray(), jnd.Replace("日", ""));
            int mdays      = 30;

            if (jnm.IndexOf("小") > 0)
            {
                mdays = 29;
            }
            if (monthIndex + day > mdays)                                           //跨月
            {
                SQLiteDataReader reader = SelectJieQI.GetReadData((-1) * day + 10); //因节气在上个月,时间回本月,取节气前一个月的月干支,年干支
                if (reader != null)
                {
                    while (reader.Read())
                    {
                        monthGZ = reader["MonthGZ"].ToString();
                        yearGZ  = reader["YearGZ"].ToString();
                    }
                }
                reader.Close();
                reader.Dispose();
            }
        }
示例#3
0
文件: Form1.cs 项目: chenli118/QMDJ
        private string GetJieQiByID(string p)
        {
            string           jieqi  = string.Empty;
            string           sql    = " SELECT DayGZ,DateValue,jieQi FROM [GanZiTable] where id > (" + p + " -30)  and id < " + p + " order by ID Desc ";
            SQLiteDataReader reader = SqlLiteHelper.ExecuteDataReader(sql, Application.StartupPath + "/JieQi.db");

            if (reader != null)
            {
                while (reader.Read())
                {
                    List <string> jieQis = JieQiHelper.GetTwentyFourJieQi();
                    if ((reader["jieQi"] != null && reader["jieQi"].ToString().Trim().Length > 2 && jieQis.Contains(reader["jieQi"].ToString().Trim().Substring(0, 2))))
                    {
                        jieqi = reader["jieQi"].ToString().Trim() + " " + reader["DayGZ"].ToString().Trim() + "日" + reader["DateValue"].ToString();
                        return(jieqi);
                    }
                }
                reader.Close();
            }
            return(jieqi);
        }