日历模拟(c#)

可以查看第几年日历(用此代码,可查看第几年日历)

using System;

namespace Base1
{
    
    
    class Program
    {
    
    
        static int[] vs = new int[12] {
    
     31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
        static void Main()
        {
    
    
            Console.Write("你需要查第几年:");
            int year = int.Parse(Console.ReadLine());
            Consult(year);
        }
        private static void Consult(int year)
        {
    
    
            for (int i = 1; i <= 12; i++)
            {
    
    
                string date = string.Format("{0}年{1}月",year,i);
                Console.WriteLine(date);
                if (i == 2) February(year);
                ConsultMonth(vs[i-1],GetWeekByDay(year,i,1));
            }
        }
        private static void ConsultMonth(int dateMax, int firstDay)
        {
    
    
            Console.WriteLine("日\t一\t二\t三\t四\t五\t六");
            for (int i = 1; i <= dateMax + firstDay  ; i++)
            {
    
    
                if (i <= firstDay ) Console.Write(" ");
                else Console.Write(i-firstDay);
                if (i % 7 == 0) Console.Write("\t\n");
                else Console.Write("\t");
            }
            Console.WriteLine("");
        }
        private static void February(int year)
        {
    
    
            if ((year % 100 != 0 && year % 4 == 0) || year % 400 == 0)
                vs[1] = 29;
            else
                vs[1] = 28;
        }
        private static int GetWeekByDay(int year, int month, int day)
        {
    
    
            DateTime dt = new DateTime(year, month, day);
            return (int)dt.DayOfWeek;
        }
    }
}


猜你喜欢

转载自blog.csdn.net/m0_52361859/article/details/115003368