首页 > 代码库 > c#实现输出本月的月历

c#实现输出本月的月历

效果如图:

技术分享

代码如下:

namespace WebForm
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            PrintCalender(2016, 10);
        }

        public static void PrintCalender(int year, int month)
        {
            formatDate fd = new formatDate(year, month);
            string calender =
 @"日 一 二 三 四 五 六
{0} {0} {0} {0} {0} {0} {0}
{0} {0} {0} {0} {0} {0} {0}
{0} {0} {0} {0} {0} {0} {0}
{0} {0} {0} {0} {0} {0} {0}
{0} {0} {0} {0} {0} {0} {0}
{0} {0} {0} {0} {0} {0} {0}";
            calender = string.Format(calender, fd).TrimEnd();
            HttpContext.Current.Response.Write(calender);
        }
    }
    
    public class formatDate : IFormattable
    {
        int num;
        int max;
        public formatDate(int year, int month)
        {
            DateTime dt = new DateTime(year, month, 1);
            num = (int)dt.DayOfWeek * -1;
            max = DateTime.DaysInMonth(year, month);
        }
        public string ToString(string format, IFormatProvider formatProvider)
        {
            return num++ < 0 || num > max ? "  " : num.ToString("00");
        }
    }
}

 

c#实现输出本月的月历