21.02.2007, 14:59 | #21 |
Участник
|
Цитата:
А разве 7 день не является последним в неделе???
|
|
21.02.2007, 15:02 | #22 |
Участник
|
DreamCreator Спасибо! |
|
21.02.2007, 15:08 | #23 |
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). |
21.02.2007, 15:15 | #24 |
Участник
|
DreamCreator
рано спасибо сказал, результат выдает только для последнего вторника текщего месяца правильно почему-то...А остальные пишет, что не последний |
|
21.02.2007, 15:18 | #25 |
Moderator
|
|
|
21.02.2007, 15:19 | #26 |
Программатор
|
чо сделать то надо я не понял ничего...
|
|
21.02.2007, 15:22 | #27 |
Участник
|
А уже ничего... Все сделано
|
|
21.02.2007, 15:22 | #28 |
Moderator
|
Цитата:
X++: Days day = 2; (т.е. job не принимает параметров -- он настроен только на второй день при небольшой доработке - можно все переменные оформить в виде параметров) + У Gustav оформленный вариант, с меньшим числом строк!! |
|
21.02.2007, 15:25 | #29 |
Moderator
|
|
|
21.02.2007, 15:32 | #30 |
Участник
|
Цитата:
может ещё поразбираем в понедельник после выходных, задачки по вычислению дат и дней... . чтобы проверить , как мозг работает |
|
21.02.2007, 15:36 | #31 |
Участник
|
Возможно по ходу дела еще что-нибудь подкину сюда...
У меня тут заваруха с датами большая... |
|
21.02.2007, 15:42 | #32 |
Участник
|
|
|
21.02.2007, 15:45 | #33 |
Участник
|
Gustav, а как подобным образом вывести даты не последних, а первых дней месяца?
|
|
21.02.2007, 15:48 | #34 |
Участник
|
в предыдущем условии шли с конца, а теперь с ночала надо и все
__________________
Рабочий день сокращает жизнь на 8 часов |
|
21.02.2007, 16:01 | #35 |
Участник
|
Цитата:
в предыдущем условии шли с конца, а теперь с ночала надо и все
|
|
21.02.2007, 16:07 | #36 |
Участник
|
что-то вроде........
X++: static void Job55(Args _args) { date DateOfLastWeekdayInMonth (int _lastWeekday, date _date = today () ) { date eomDate = dateStartMth( _date ); int eomWeekday = dayOfWk( eomDate ); return eomDate + _lastWeekday - 1 ; } ; 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 )) ); }
__________________
Рабочий день сокращает жизнь на 8 часов |
|
21.02.2007, 16:12 | #37 |
Участник
|
Не правильно работает.
info( strFmt('%1', DateOfFirstWeekdayInMonth(1 )) ); результат = 1,02,07 info( strFmt('%1', DateOfFirstWeekdayInMonth( 5 )) ); результат = 5,02,07 |
|
21.02.2007, 16:18 | #38 |
Участник
|
А да щас исправлю
__________________
Рабочий день сокращает жизнь на 8 часов |
|
21.02.2007, 16:33 | #39 |
Участник
|
X++: static void Job55(Args _args) { date DateOfLastWeekdayInMonth (int _lastWeekday, date _date = today () ) { date eomDate = dateStartMth( _date ); int eomWeekday = dayOfWk( eomDate ); return eomDate + ( _lastWeekday - eomWeekday ) + (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 )) ); }
__________________
Рабочий день сокращает жизнь на 8 часов |
|
|
За это сообщение автора поблагодарили: moid (1). |
21.02.2007, 16:36 | #40 |
Участник
|
Мне бы еще такую конструкцию как сделал Gustav, только с начала месяца... И было бы замечательно...
|
|