C# DateTime类小练习-打印当前月的日历
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一年的日历
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);
}
}
}