获取服务器的时间及日期类

using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;

namespace XHW
{
    /// <summary>
    /// 获取服务器的时间,使用方法 XHW.GetServerDataTime dt=new XHW.GetServerDataTime();来实例化|| this.Label1.Text = dt.cDate();
    /// </summary>
    public class GetServerDataTime
    {
       public string cDate()
        {
           ChineseLunisolarCalendar l = new ChineseLunisolarCalendar();
           DateTime dt = DateTime.Today; //转换当日的日期
            //dt = new DateTime(2006, 1,29);//农历2006年大年初一(测试用),也可指定日期转换
            string[] aMonth ={"","正月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "腊月", "腊月" };
            //a10表示日期的十位!
            string[] a10 ={ "初", "十", "廿", "卅" };
            string[] aDigi ={ "O", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
            string sYear = "", sYearArab = "", sMonth = "", sDay = "", sDay10 = "", sDay1 = "", sLuniSolarDate = "";
            int iYear, iMonth, iDay;
            iYear = l.GetYear(dt);
            iMonth = l.GetMonth(dt);
            iDay = l.GetDayOfMonth(dt);

            //Format Year
           sYearArab = iYear.ToString();
            for (int i = 0; i < sYearArab.Length; i++)
            {
               sYear += aDigi[Convert.ToInt16(sYearArab.Substring(i, 1))];
            }

            //Format Month
           int iLeapMonth = l.GetLeapMonth(iYear); //获取闰月

/**//*闰月可以出现在一年的任何月份之后。例如,GetMonth 方法返回一个介于 1 到 13 之间的数字来表示与指定日期关联的月份。如果在一年的八月和九月之间有一个闰月,则 GetMonth 方法为八月返回 8,为闰八月返回 9,为九月返回 10。*/ 
       
           if (iLeapMonth > 0 && iMonth<=iLeapMonth)
            {
                //for (int i = iLeapMonth + 1; i < 13; i++) aMonth[i] = aMonth[i - 1];
               aMonth[iLeapMonth] = "闰" + aMonth[iLeapMonth-1];
                sMonth = aMonth[l.GetMonth(dt)];
            }
            else if (iLeapMonth > 0 && iMonth > iLeapMonth)
            {
               sMonth = aMonth[l.GetMonth(dt) - 1];
            }
            else
           {
                sMonth = aMonth[l.GetMonth(dt)];
            }


            //Format Day
            sDay10 = a10[iDay / 10];
            sDay1 = aDigi[(iDay % 10)];
            sDay = sDay10 + sDay1;

            if (iDay == 10) sDay = "初十";
            if (iDay == 20) sDay = "二十";
            if (iDay == 30) sDay = "三十";

            //Format Lunar Date
            //sLuniSolarDate = dt.Year+"年"+dt.Month+"月"+dt.Day+"日 "+Weeks(dt.DayOfWeek.ToString())+" 农历" + sYear + "年" + sMonth + sDay;
            sLuniSolarDate = dt.Year + "年" + dt.Month + "月" + dt.Day + "日 " + Weeks(dt.DayOfWeek.ToString()) + " 农历" + sMonth + sDay;
           return sLuniSolarDate;
          
        }
       private string Weeks(string Weeken)
       {
           string kk = "";
            switch (Weeken)
            {
                case "Monday":
                    return "星期一";
                  break;
               case "Tuesday":
                    return "星期二";
                   break;
               case "Wednesday":
                   return "星期三";
                  break;
                case "Thursday":
                    return "星期四";
                   break;
               case "Friday":
                    return "星期五";
                    break;
              case "Saturday":
                  return "星期六";
                  break;
                case "Sunday":
                   return "星期日";
                  break;
                default:
                   return " ";
            }
           
       }
    }
}

转载于:https://www.cnblogs.com/guocheng/archive/2008/10/08/1306017.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值