Работа с DateTime: поиск верхней и нижней недели - C#
Формулировка задачи:
Здравствуйте. Подскажите, как реализовать следующую задачу:
Первая неделя сентября считается верхней неделей (получается, с 31 августа по 6 сентября это верхняя неделя). Следующая неделя - нижняя (с 7 по 13 сентября). Необходимо создать метод, который будет принимать переменную типа DateTime и возвращать int. В качестве параметра DateTime будет передаваться текущая дата (например, 9 ноября). Метод должен вернуть 1, если неделя является верхней и 2, если неделя считается нижней.
Пока не могу додумать, как это можно реализовать?
И данные метод должен правильно работать, когда год на 2016 поменяется и т.д.
Решение задачи: «Работа с DateTime: поиск верхней и нижней недели»
textual
Листинг программы
DateTime d = DateTime.Now;
Calendar calendar = new GregorianCalendar();
DateTime firstDay = new DateTime(d.Year, d.Month, 1);
int week1 = calendar.GetWeekOfYear(firstDay, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
int week2 = calendar.GetWeekOfYear(d, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
if ((week2 - week1) % 2 == 0)
Console.WriteLine("Верхняя");
else
Console.WriteLine("Нижняя");