c#实现输出本月的月历

时间:2021-05-20

格式要求:
复制代码 代码如下:
SU MO TU WE TH FR SA
01 02 03 04
05 06 07 08 09 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

代码:
复制代码 代码如下:
class Interview1
{
static void Main()
{
PrintCalender(2011, 10);
}
public static void PrintCalender(int year, int month)
{
formatDate fd = new formatDate(year, month);
string calender =
@"SU MO TU WE TH FR Sa
{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();
Console.WriteLine(calender);
}
}
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");
}
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章