格式要气:
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"); } }