Показать сообщение отдельно
Старый 10.03.2011, 13:35   #15  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,430 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от George Nordic Посмотреть сообщение
давайте разберем вместе. Так вот, поставьте брекпоинт на эту строчку и проверьте, корректно ли формируется testDate в обычном и високосном году.
Давайте ещё раз посмотрим на строчку которую вы привели
X++:
testDate = _curDate + ((#DaysPerWeek - 1) - dowCurDate);
Здесь testDate получается смещением даты в перёд на количество дней оставшееся до конца недели. Т.е. так чтобы попасть на воскресенье. Единственное место где здесь может быть засада - это функция dayofwk (используется для расчёта dowCurDate), возвращающая номер дня недели. Но она работает корректоно и в високосный год и в не високосный.

Цитата:
Сообщение от George Nordic Посмотреть сообщение
В обычном году была ошибка на 2 дня, кажется, в високосный - тоже ошибка была.
Т.е. дата testDate не попадала на воскресенье? Мне это воспроизвести не удалось.