Wednesday, October 26, 2005

How to find out first saturday of year?

Solution 1.

DateTime x = GetFirstDayOccurrence(2005,DayOfWeek.Saturday );
public DateTime GetFirstDayOccurrence(int Year, DayOfWeek SearchDay)
{
int Day = 1;
for (int e=1; e<=7; e++)
{
if ( DateTime.Parse(e + "/jan/" + Year).DayOfWeek == SearchDay )
{
Day = e;
break;
}
}
return DateTime.Parse(Day + "/jan/" + Year);
}



Solution 2.

int year = 2005;
int days = DateTime.DaysInMonth(year, 1);
for (int i=1; i<=days; i++)
{
DateTime dt = DateTime.Parse(string.Format("{0}-01-{1}", year, i.ToString().PadLeft(2, '0')));
if (dt.DayOfWeek == DayOfWeek.Saturday)
{
Console.WriteLine("first saturday of {0} is {1}", year, dt.ToString("yyyy-MMM-dd"));
break;
}
}

Happy Programming,
Kamlesh

No comments: