Mam następujący kod aby otrzymać weeknumber roku nadane w czasach obiektu DateTimeTydzień Roku C# Datetime
public static int WeeksInYear(DateTime date)
{
GregorianCalendar cal = new GregorianCalendar(GregorianCalendarTypes.Localized);
return cal.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
}
Teraz daję funkcja data 01.01.2012 wich powinien powrócić tygodnie 1, ale on wraca w tygodniu 52. I nie mogę się domyślić dlaczego. Ktoś ma pomysł, dlaczego?
spróbować z tym 'cal.GetWeekOfYear (data, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Sunday)' – Raghuveer
@RaghuveerGuthikonda: To będzie działać tylko w tym szczególnym przypadku. E. g. 01.01.2013 może być w sobotę, to nie zadziała. Po prostu oblicza się tygodnie kalendarzowe. 1/1/2012 jest w 52. tygodniu i powinno tam być. – basti