10.03.2011, 12:28 | #12 |
Модератор
|
Несмотря на все протесты Mifi, функция работает некорректно. Никакие это ни майя - очередная бага, вернее, их скопище, которые лежат еще с 3ки, если не раньше.
Да, wkofyr(_date) - работает некорректно. Но для этого и был написан пафосный класс-обертка weekOfYear(), который учитывает локальные настройки, в частности, с какого дня начинается неделя, но при этом при формировании тестовой даты не учитывает, что год может быть високосным Ошибка возникает здесь, как я говорил: X++: if (week > 52) { // Look at the last day of the week and compare it // to the target date. If the year is different // then the target date is part of week 1 for next year. testDate = _curDate + ((#DaysPerWeek - 1) - dowCurDate); //Ошибка Ладно, хорошо. Может, в мире и не так. Тогда надо учитывать, что каждый 4й год происходит такая беда как високосный год, и testDate формируется некорректно. С Уважением, Георгий |
|