注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Bioinformatics home

 
 
 

日志

 
 

农历类  

2009-08-31 12:43:02|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

using System;
using System.Globalization;//

namespace Nongli
{

    ///<summary>
    /// 显示今天农历类
    ///</summary>

    public class CNDate
    {
        private DateTime m_Date; //今天的日期

        private
        readonly
        int cny; //农历的年月日

        private
        int cnm; //农历的年月日

        private
        readonly
        int cnd; //农历的年月日

        private
        readonly
        int icnm; //农历闰月

        ///<summary>
        /// 显示日期构造函数
        ///</summary>
        public CNDate()
        {            
            m_Date = DateTime.Today;
            ChineseLunisolarCalendar cnCalendar = new ChineseLunisolarCalendar();
            cny = cnCalendar.GetSexagenaryYear(m_Date);
            cnm = cnCalendar.GetMonth(m_Date);
            cnd = cnCalendar.GetDayOfMonth(m_Date);
            icnm = cnCalendar.GetLeapMonth(cnCalendar.GetYear(m_Date));
        }

        /// <summary>
        /// 显示日期构造函数
        /// </summary>
        /// <param name="datetime"></param>
        public CNDate(DateTime datetime)
        {
            m_Date = datetime;
            ChineseLunisolarCalendar cnCalendar = new ChineseLunisolarCalendar();
            cny = cnCalendar.GetSexagenaryYear(m_Date);
            cnm = cnCalendar.GetMonth(m_Date);
            cnd = cnCalendar.GetDayOfMonth(m_Date);
            icnm = cnCalendar.GetLeapMonth(cnCalendar.GetYear(m_Date));
        }


        ///<summary>
        /// 返回格式化的公历显示
        ///</summary>
        ///<returns>格式如:2008年05月14日</returns>
        public string GetDate()
        {
            int y = m_Date.Year;
            int m = m_Date.Month;
            int d = m_Date.Day;
            return String.Format("{0}年{1:00}月{2:00}日", y, m, d);
        }


        ///<summary>
        /// 返回格式化的星期显示
        ///</summary>
        ///<returns>格式如:星期日</returns>
        public string GetWeek()
        {
            string ws ="星期";
            int w = Convert.ToInt32(m_Date.DayOfWeek);
            ws = ws +"日一二三四五六".Substring(w, 1);
            return ws;
        }


        ///<summary>
        /// 返回格式化的农历显示
        ///</summary>
        ///<returns>格式如:戊子(鼠)年润四月廿三</returns>

        public string GetCNDate()
        {
            string txcns ="";
            const string szText1 = "癸甲乙丙丁戊己庚辛壬";
            const string szText2 = "亥子丑寅卯辰巳午未申酉戌";
            const string szText3 = "猪鼠牛虎免龙蛇马羊猴鸡狗";
            int tn = cny % 10; //天干
            int dn = cny % 12;  //地支
            txcns += szText1.Substring(tn, 1);
            txcns += szText2.Substring(dn, 1);
            txcns += "(" + szText3.Substring(dn, 1) + ")年";
            //格式化月份显示

            string[] cnMonth ={ "", "正月", "二月", "三月", "四月", "五月", "六月"
                , "七月", "八月", "九月", "十月", "十一月", "十二月", "十二月" };
            if (icnm > 0)
            {
                for (int i = icnm + 1; i < 13; i++) cnMonth[icnm] = cnMonth[i - 1];
                cnMonth[icnm] = "闰" + cnMonth[icnm];
            }
            txcns += cnMonth[cnm];
            string[] cnDay ={ "", "初一", "初二", "初三", "初四", "初五", "初六", "初七"
                , "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六"
                , "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五"
                , "廿六", "廿七", "廿八", "廿九", "三十" };
            txcns += cnDay[cnd];
            return txcns;
        }
    }
}

  评论这张
 
阅读(532)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017