Тема: по датам
Показать сообщение отдельно
Старый 21.02.2007, 15:08   #20  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от 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
За это сообщение автора поблагодарили: moid (1).