/// <summary> /// 日上起时干 /// </summary> /// <param name="rg">日干</param> /// <param name="sc">时辰</param> /// <returns>时干</returns> private TianGan GetTimeGan(TianGanTypes rg, DiZhiTypes sc) { int sc1 = ((int)sc) - 1; TianGanTypes tg; if ((rg == TianGanTypes.Jia) || (rg == TianGanTypes.Ji)) { tg = TianGanTypes.Jia; } else if ((rg == TianGanTypes.Yi) || (rg == TianGanTypes.Geng)) { tg = TianGanTypes.Bing; } else if ((rg == TianGanTypes.Bing) || (rg == TianGanTypes.Xin)) { tg = TianGanTypes.Wu; } else if ((rg == TianGanTypes.Ding) || (rg == TianGanTypes.Ren)) { tg = TianGanTypes.Geng; } else { tg = TianGanTypes.Ren; } TianGan t = new TianGan(tg); return(t.Inc(sc1)); }
private TianGan GetTimeGan(TianGanTypes rg, DiZhiTypes sc) { TianGanTypes jia; int i = ((int)sc) - 1; if ((rg == TianGanTypes.Jia) || (rg == TianGanTypes.Ji)) { jia = TianGanTypes.Jia; } else if ((rg == TianGanTypes.Yi) || (rg == TianGanTypes.Geng)) { jia = TianGanTypes.Bing; } else if ((rg == TianGanTypes.Bing) || (rg == TianGanTypes.Xin)) { jia = TianGanTypes.Wu; } else if ((rg == TianGanTypes.Ding) || (rg == TianGanTypes.Ren)) { jia = TianGanTypes.Geng; } else { jia = TianGanTypes.Ren; } TianGan gan = new TianGan(jia); return(gan.Inc(i)); }
/// <summary> /// 农历整数月转换为地支代表 /// </summary> /// <param name="m">农历月份</param> /// <returns></returns> private DiZhi MonthToDiZhi(int m) { int m1 = Math.Abs(m) + 2;//正月建寅 if (m1 > 12) { m1 -= 12; } DiZhiTypes dz = (DiZhiTypes)m1; return(new DiZhi(dz)); }
private DiZhiTypes inc(DiZhiTypes adz, int i) { int num = i % 12; if (num == 0) { return adz; } int num2 = ((int) adz) + num; if (num2 > 12) { num2 -= 12; } else if (num2 < 1) { num2 += 12; } return (DiZhiTypes) num2; }
/// <summary> /// 计算将地支加上i后的值 /// </summary> /// <param name="adz">地支</param> /// <param name="i">要增加的数量</param> /// <returns>某一地支枚举增加i值后的地支</returns> private DiZhiTypes inc(DiZhiTypes adz, int i) { int j = i % 12; if (j == 0) { return(adz); } int dz = ((int)adz) + j; if (dz > 12) { dz = dz - 12; } else if (dz < 1) { dz = dz + 12; } return((DiZhiTypes)dz); }
private DiZhiTypes inc(DiZhiTypes adz, int i) { int num = i % 12; if (num == 0) { return(adz); } int num2 = ((int)adz) + num; if (num2 > 12) { num2 -= 12; } else if (num2 < 1) { num2 += 12; } return((DiZhiTypes)num2); }
private static string GetName(DiZhiTypes adz) { int num = (int) adz; return names[num - 1]; }
public DiZhi(DiZhiTypes dz) { this.id = dz; }
public DiZhi() { this.id = DiZhiTypes.Zi; }
public GanZhi(TianGanTypes atg, DiZhiTypes adz) { this._tg = new TianGan(atg); this._dz = new DiZhi(adz); }
/// <summary> /// 获取指定地支的中文名称 /// </summary> /// <param name="adz">指定的地支</param> /// <returns>地支名称</returns> private static string GetName(DiZhiTypes adz) { int i = (int)adz; return(names[i - 1]); }
/// <summary> /// 构造函数 /// </summary> /// <param name="dz">地支枚举值</param> public DiZhi(DiZhiTypes dz) { id = dz; }
/// <summary> /// 构造函数 /// </summary> public DiZhi() { id = DiZhiTypes.Zi; }
private TianGan GetTimeGan(TianGanTypes rg, DiZhiTypes sc) { TianGanTypes jia; int i = ((int) sc) - 1; if ((rg == TianGanTypes.Jia) || (rg == TianGanTypes.Ji)) { jia = TianGanTypes.Jia; } else if ((rg == TianGanTypes.Yi) || (rg == TianGanTypes.Geng)) { jia = TianGanTypes.Bing; } else if ((rg == TianGanTypes.Bing) || (rg == TianGanTypes.Xin)) { jia = TianGanTypes.Wu; } else if ((rg == TianGanTypes.Ding) || (rg == TianGanTypes.Ren)) { jia = TianGanTypes.Geng; } else { jia = TianGanTypes.Ren; } TianGan gan = new TianGan(jia); return gan.Inc(i); }
/// <summary> /// 获取将当前实例增加i值后的地支实例 /// </summary> /// <param name="i">增加的数值</param> /// <returns>地支实例</returns> public DiZhi Inc(int i) { DiZhiTypes dz = inc(id, i); return(new DiZhi(dz)); }
/// <summary> /// 构造函数 /// </summary> /// <param name="atg">天干枚举</param> /// <param name="adz">地支枚举</param> public GanZhi(TianGanTypes atg, DiZhiTypes adz) { _tg = new TianGan(atg); _dz = new DiZhi(adz); }