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); }
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(); } }
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); }