|
v7: Время между двумя датами (учитывать рабочее время) | ☑ | ||
---|---|---|---|---|
0
vova1122
15.08.17
✎
15:18
|
Может кто делал такое. Есть 4 реквизита (2 даты и 2 реквизита времени к этим датам)
Нужно найти разность по времени между этими датами, только исключить из этого времени нерабочие часы (например учитывать только 8-ми часовой рабочий день) |
|||
1
vova1122
15.08.17
✎
15:30
|
Есть дата и время начала работ, время и дата окончания работ. Нужно узнать сколько всего по времени делалась работа. (именно делалась. Ведь когда работник спал то работа естественно не выполнялась)
|
|||
2
Волшебник
модератор
15.08.17
✎
15:30
|
Запрограммируй.
|
|||
3
Волшебник
модератор
15.08.17
✎
15:33
|
Заведи НачалоРабочегоДня и КонецРабочегоДня.
Пусть они хранят часы и минуты. И ДлительностьДня в часах, чтобы легче было считать Далее рассчитай три интервала: 1) НачалоПериода - НачалоРабочегоДня в рабочих часах/минутах 2) КонецРабочегоДня - КонецПериода 3) (КонецПредыдущегоДня - НачалоСледующегоДня) в днях * ДлительностьДня Всё сложи. |
|||
4
vova1122
15.08.17
✎
15:36
|
(3) еще нужно исключить Субботу и Воскресенье
|
|||
5
piter3
15.08.17
✎
15:38
|
(4) календарь или производственный календарь есть в бд?
|
|||
6
vova1122
15.08.17
✎
15:40
|
(5) нет. база самописная. Календаря нет.
|
|||
7
piter3
15.08.17
✎
15:41
|
(6) сделай,проще будет
|
|||
8
Волшебник
модератор
15.08.17
✎
15:42
|
(4) Ну раз нужно, то сделай, конечно.
|
|||
9
vova1122
15.08.17
✎
15:42
|
(7) можно сделать, хотя ради одной хотелки еще и календарь вести....
|
|||
10
Волшебник
модератор
15.08.17
✎
15:42
|
Ещё больничные надо пропускать.
|
|||
11
vova1122
15.08.17
✎
15:43
|
(10) это уже лишнее
|
|||
12
piter3
15.08.17
✎
15:43
|
(9) нет ну можно попробовать из внешних ресурсов брать
|
|||
13
МихаилМ
15.08.17
✎
15:43
|
была похожая задача на олимпиаде по программированию для 8-классников .районный тур. время решения 7 минут. решить в 1 формулу
|
|||
14
Волшебник
модератор
15.08.17
✎
15:44
|
(11) Тогда расчёт будет неточный. Сотрудник в отпуске или болеет, а ты ему рабочее время считаешь.
|
|||
15
El_Duke
гуру
15.08.17
✎
15:45
|
(11) Это не лишнее, а самое главное
Без учета неявок у тебя все время будет рабочим. Чел мог бухой в прогуле валяться, а ему насчитается как за отработанное время |
|||
16
vova1122
15.08.17
✎
15:46
|
(14) не рабочее время. А время выполнения конкретного задания. Это задание может выполнять или другой человек, или целая бригада работников. Нужно узнать время за сколько это задание сделано, а кто его делал - неважно.
|
|||
17
Волшебник
модератор
15.08.17
✎
16:00
|
(16) Надо, так надо. Приступай.
|
|||
18
vova1122
15.08.17
✎
16:11
|
(17) это понятно. Думал может кто-то делал такое. чтобы не изобретать велосипед с квадратными колесами....
|
|||
19
Волшебник
модератор
15.08.17
✎
20:07
|
(18) У нас на восьмёрке всё работает.
|
|||
21
vova1122
16.08.17
✎
11:07
|
(19) да слышал я что разность дат в восьмерке исчисляется в секундах......
|
|||
22
Волшебник
модератор
16.08.17
✎
11:08
|
(21) В нашей конфе есть функция, которая вычисляет разность дат в рабочих днях и часах
|
|||
23
vova1122
16.08.17
✎
11:11
|
(22) круто. Ниче не скажешь....
|
|||
24
Duke1C
16.08.17
✎
21:38
|
(4) И в чём проблема собственно?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |