|
|
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
Надо отсчитать конкретное количество банковских дней bank_days от текущей даты curr_date, используя календарь (таблицу): date hour type 01/01/2002 0 0 выходной 01.02.2002 8 1 рабочий ... 08.03.2002 0 2 праздничный, т.е. вычитаться должны только рабочие дни, а выходные и праздничные - нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:36:56 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
А с тридцатидневкой в феврале как поступается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:40:51 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
to VVG Все это хранится в таблице "календарь", которая формируется особым образом. Главное, что именно в ней видно то, что считается банковскими днями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:46:16 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
Что-то я ничего не понимаю с такой таблицей.. В далекие времена, когда мне нужно было равсчитывают рабочие дни, для месяца просто выделялось 4 байта (int) и побитово метились рабочие-нерабочие дни. Мне хватало 32-х возможных дней, если мало возьмете 8 байтов. Далее с помощью простых битовых операций можно было рассчитать количество любых дней в любом интервале.. Ну попровочка там еще была на феврал высокосного года. А как даже не знаю.. А если из 14 нерабочих, 10 приходятся на первые две недели, на что ориентироваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:57:35 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
Как-нибудь так наверное: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 16:06:49 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
Там @days int, сори. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 16:11:08 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 16:16:02 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
О, и обратная задача подоспела. P.S. Питерское дерби какое-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 16:23:32 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
to KIM Думаю теперь, а как же перейти к обратной-то задачке: у меня -то даны тек. дата и кол-во банковских дней, которые надо отнять от текущей, чтобы получить искомую дату ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 16:36:19 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 17:40:05 |
|
||
|
банковские дни
|
|||
|---|---|---|---|
|
#18+
Можно и без динамических запросов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Но это тоже неправильно. В смысле правильно, но надо не так подходить к задаче. У Вас все равно ведётся таблица всех дней. Выберите какой-нибудь день за нулевой, а для всех остальных дней просчитайте количество рабочий дней между нулевым днём и текущим(назовём Дельтой). Тогда чтобы подсчитать разницу между днями или отойти на какое-нибудь количество дней в любую сторону Вам будет достаточно только вычесть Дельту между соответсвующими днями или найти день с нужной Дельтой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 18:17:54 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32074128&tid=1818401]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 413ms |

| 0 / 0 |
