获取日期对应的农历年天干地支,生肖 范围1900-2100


using System.Globalization;
 //获取某年是天干地支年,猫年狗年
    /// <summary>
    /// 获取年份天干地支,生肖
    /// </summary>
    /// <param name="dt">年月日:2009-09-09</param>
    /// <returns>甲子,鼠</returns>  
    public string getNongLi(DateTime dt)
    {
        if (dt== null)
            return "";
        //1864年,甲子,鼠       
        ChineseLunisolarCalendar cc = new ChineseLunisolarCalendar();
        int year = cc.GetYear(dt);
        int month = cc.GetMonth(dt);
        string[] Animals = { "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪" };
        string[] Gan = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };
        string[] Zhi = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };
        string tiangan = "";
        string dizhi = "";
        string shengxiao = "";
        //对给定年减1864用12求余
        int mode12 = (year - 1864) % 12;
        //对给定年减1864用10求余
        int mode10= (year - 1864) % 10;
        shengxiao = Animals[mode12];
        tiangan = Gan[mode10];
        dizhi = Zhi[mode12];
        return tiangan + dizhi + "," + shengxiao;
    }
posted @ 2009-09-10 14:21  WarCraftIII  阅读(2065)  评论(0)    收藏  举报