根据月份算这个月的天数。 C# code DateTime d = new DateTime(2008,8,8); System.Globalization.Calendar c = new System.Globalization.GregorianCalendar(); int daysInAugust = c.GetDaysInMonth(d.Year, d.Month); // 31
法定节假日 that is a bit difficult, you might: C# code DateTime[] m_Holidays = new DateTime[] { new DateTime(2008, 1, 1), new DateTime(2008, 5, 1), new DateTime(2008, 12, 25), //... }; bool IsHoliday(DateTime d) { return Array.IndexOf<DateTime>(m_Holidays, d) >= 0; // or, foreach (DateTime h in m_Holidays) { if (h.Month == d.Month && h.Day == d.Day) return true; } return false; }
手写的话 public int GetDays(int year, int month) { int[] days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)) { return 29; } else { return days[month]; } }