|
![]() |
#1 |
Участник
|
DreamCreator
Не правильно спросил. Нужно узнать является ли сегодняшний день последним в неделе. В параметре указываем день(1-7), а результатом является Boolean(true - последний день или false) У тебя результат выдает по текущему дню последнюю дату такого дня |
|
![]() |
#2 |
Moderator
|
Цитата:
X++: static void testCalcDate(Args _args) { // Это параметр - дата относительно которой надо искать последний день // из этой даты используется только месяц TransDate transDate = 27\02\2007; // Это искомый последний день недели (понедельник - 1, вторник - 2, и т.д.) Days day = 2; // Это последний день (в зависимости от day, если day=1 то searchDate - понедельник) TransDate searchDate; ; // Последний день месяца searchDate = dateEndMth(transDate); while(dayOfWk(searchDate) != day) { searchDate--; } if(searchDate == transDate) print 'Today is last day'; else print 'Not last day'; pause; } |
|
![]() |
#3 |
Участник
|
А разве 7 день не является последним в неделе???
__________________
Рабочий день сокращает жизнь на 8 часов ![]() |
|
![]() |
#4 |
Moderator
|
Цитата:
![]() Я, честно говоря, понял точно так же, как 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). |
![]() |
#5 |
Участник
|
DreamCreator
рано спасибо сказал, результат выдает только для последнего вторника текщего месяца правильно почему-то...А остальные пишет, что не последний |
|
![]() |
#6 |
Moderator
|
Цитата:
X++: Days day = 2; (т.е. job не принимает параметров -- он настроен только на второй день ![]() + У Gustav оформленный вариант, с меньшим числом строк!! ![]() |
|
Теги |
дата |
|
![]() |
||||
Тема | Ответов | |||
Подробный отчет по датам к оплате | 3 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|