I think this will help you
int year = 2011;
int month = 11;
int daysInMonth = 0;
int days = DateTime.DaysInMonth(year, month);
for (int i = 1; i <= days; i++)
{
DateTime day = new DateTime(year, month, i);
if (day.DayOfWeek != DayOfWeek.Sunday)
{
daysInMonth++;
}
}
to calculate for every month in a year try this
int year = 2011;
int monthsInYear = 12;
List<int> workDaysEveryMonth = new List<int>();
for (int month = 1; month <= monthsInYear; month++)
{
int daysInMonth = 0;
int days = DateTime.DaysInMonth(year, month);
for (int day = 1; day <= days; day++)
{
DateTime currentDay = new DateTime(year, month, day);
if (currentDay.DayOfWeek != DayOfWeek.Sunday)
{
daysInMonth++;
}
}
workDaysEveryMonth.Add(daysInMonth);
}
you could then display the results using something like this e.g.
string[] months = { "January", "Feburary", "March", "April", "May", "June",
"July", "August", "September", "October","November", "December" };
DateTime today = DateTime.Now;
Label1.Text = "There are " + workDaysEveryMonth[today.Month - 1] + " work days in " + months[today.Month - 1];