Как узнать неделю определенной даты в месяцах - ASP MVC 4

Я работаю в ASP, используя MVC 4, и пытаюсь узнать номер недели в месяце. Например, пользователь вставляет 05/02/2014, и мне в контроллере нужно знать номер недели с этой даты. Например: пользователь вставляет 04/02/2014, и я получаю результат 6

Редактировать: используя формат дд/мм/гггг


person CesarMiguel    schedule 04.02.2014    source источник
comment
Как 02.04.2014 дает 6? Если 02/04 представляет мм/дд, то в апреле пять недель. Если он представляет дд/мм, то в феврале еще пять недель.   -  person Craig W.    schedule 04.02.2014
comment
var cal = System.Globalization.DateTimeFormatInfo.CurrentInfo.Calendar; cal.GetWeekOfYear(DateTime.Now,System.Globalization.CalendarWeekRule.FirstDay, System.DayOfWeek.Sunday); Попробуйте.   -  person ramiramilu    schedule 04.02.2014
comment
Извините, я использую формат дд/мм   -  person CesarMiguel    schedule 04.02.2014
comment
См. это.   -  person EdSF    schedule 04.02.2014
comment
А, теперь я понимаю. Вы пытаетесь получить номер этой недели в году. Другими словами, вы ожидаете число от 1 до 52. Я неправильно понял и подумал, что вы хотите знать, сколько недель было в месяце, представленном датой.   -  person Craig W.    schedule 04.02.2014


Ответы (1)


Это должно решить вашу проблему -

ОБНОВЛЕНО С преобразованием строки DateTime

DateTime dt = DateTime.ParseExact("28/02/2014","dd/MM/yyyy", CultureInfo.InvariantCulture);
var cal = System.Globalization.DateTimeFormatInfo.CurrentInfo.Calendar;
cal.GetWeekOfYear(dt, System.Globalization.CalendarWeekRule.FirstDay, System.DayOfWeek.Sunday);
person ramiramilu    schedule 04.02.2014
comment
Хорошо, но как я могу рассчитать неделю определенной даты? - person CesarMiguel; 04.02.2014
comment
я получаю FormatException в DateTime dt - person CesarMiguel; 04.02.2014
comment
@CesarMiguel Можете ли вы опубликовать дату, с которой вы тестируете? - person ramiramilu; 04.02.2014