Показать сообщение отдельно
Старый 10.03.2011, 14:10   #16  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,480 / 1255 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Так. Стоп.

1. Вы согласны, что приведенная функция работает некорректно?
Или Вы считаете, что 27.12.10 - , 26.12.11 - , 24-30.12.12 - это 1 рабочая неделя??
2. Если Вы согласны, что это не так, что это 53 недели в году, тогда идем дальше.
Вы согласны, что ошибка возникает именно в методе WeekOfYear?
3. Вы согласны, что они возникает именно при первой проверке if (week > 52)?

Итак, если Вы согласны, то осталось понять, а как исправить функцию, что бы она возвращала корректные значения для России.

Этого можно добиться, исключив данную проверку (для России). Рассматривать расчет testDate, как Вы уже указали, некорректно, так как цель данного расчет - это посмотреть, не переходит ли неделя через год и сбросить счетчик текущей недели.

Согласны? Или есть какие-либо подводные камни, которые я не учел?

С Уважением,
Георгий