C# DateTime类小练习-打印当前月的日历
![image-20221219110233319](https://i-blog.csdnimg.cn/blog_migrate/acb6f569ce996b995867830affc389fc.png)
new DateTime(month, week, day)
构造函数。Today
静态属性,获取当前时间。Year
实例属性,获取年份。Month
实例属性,获取月份。DayOfWeek
实例属性,获取星期。AddMonths(int x)
实例方法,增加x月。AddDays(int x)
实例方法,增加x天。
using System;
class Test
{
public static void Main()
{
const string s4 = " ";
int nYear = DateTime.Today.Year;
int nMonth = DateTime.Today.Month;
DateTime d1 = new DateTime(nYear, nMonth, 1);
Console.WriteLine("{0}/{1}", d1.Year,d1.Month);
Console.WriteLine("SUN MON TUE WED THU FRI SAT");
int iWeek = (int)d1.DayOfWeek;
int iLastDay = d1.AddMonths(1).AddDays(-1).Day;
for (int i = 0; i < iWeek; i++) Console.Write(s4);
for (int i = 1; i <= iLastDay; i++ )
{
Console.Write(" {0:00} ", i);
if ((i + iWeek) % 7 == 0) Console.WriteLine();
}
}
}
打印2023一年的日历
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6b6c3a5d0856e8c5fcb7622a9d790079.png)
using System;
class Test
{
public static void Main()
{
var d = new DateTime(2023, 1, 1);
var wk = "SUN MON TUE WED THU FRI SAT";
for (int mon = 1; mon <= 12; mon++)
{
Console.WriteLine("2023/{0}", mon);
Console.WriteLine(wk);
int w = (int)d.DayOfWeek;
for (int i = 0; i < w; i++)
Console.Write(" ");
int ld = d.AddMonths(1).AddDays(-1).Day;
for (int i = d.Day; i <= ld; i++)
{
Console.Write($" {i:00} ");
if ((i+w) % 7 == 0) Console.WriteLine();
}
Console.WriteLine();
Console.WriteLine();
d = d.AddMonths(1);
}
}
}