Цитата:
Сообщение от
moid
DreamCreator
Не правильно спросил. Нужно узнать является ли сегодняшний день последним в неделе. В параметре указываем день(1-7), а результатом является Boolean(true - последний день или false)
У тебя результат выдает по текущему дню последнюю дату такого дня
Ах, Вы тренер наш по гимнастике для ума!
Я, честно говоря, понял точно так же, как
DreamCreator, и у меня такой же метод лечения геморроя, только безИтерационный:
X++:
static void Job55(Args _args)
{
date DateOfLastWeekdayInMonth (int _lastWeekday, date _date = today () )
{
date eomDate = endMth( _date );
int eomWeekday = dayOfWk( eomDate );
return eomDate - (eomWeekday - _lastWeekday) - (eomWeekday < _lastWeekday ? 7 : 0);
}
;
info( strFmt('%1', DateOfLastWeekdayInMonth( 1 )) );
info( strFmt('%1', DateOfLastWeekdayInMonth( 2 )) );
info( strFmt('%1', DateOfLastWeekdayInMonth( 3 )) );
info( strFmt('%1', DateOfLastWeekdayInMonth( 4 )) );
info( strFmt('%1', DateOfLastWeekdayInMonth( 5 )) );
info( strFmt('%1', DateOfLastWeekdayInMonth( 6 )) );
info( strFmt('%1', DateOfLastWeekdayInMonth( 7 )) );
}
Результат:
26.02.2007
27.02.2007
28.02.2007
22.02.2007
23.02.2007
24.02.2007
25.02.2007