Есть данные со СКУД
. Это время входа
и время выхода
. Время работы организации с 8 до 17:00
(обед не считаем). Есть переменные - таймаут1 - 25 минут
и таймаут2 - 55 минут
(ниже объясню зачем они). Надо посчитать фактическое время работы. Время работы организации "Рога и копыта" с 08:00 до 17:00
Допустим человек пришел в 8:01
и ушел в 17:40
. Так как он пришел в 8:01
и количество минут 01 < 25(таймаут1)
,то время входа будет 08:00
. Время выхода 17:40
. 40 > 25(таймаут1)
но меньша 55(таймаут2)
- поэтому округляем до 30
(до получаса). Получается что фактическое время работы с 08:00
по 17:30
. Это простейший алгоритм и его перенос в код не составит проблем.
Проблемы возникают если во времени прихода или ухода будут часы.
Допустим если человек пришел в 10:25
и ушел в 16:45
. Как посчитать его фактическое время?
Как-то так
DateTime time = DateTime.Now;
DateTime rounded = time.AddMilliseconds(-time.Millisecond).AddSeconds(-time.Second);
int minutes = rounded.Minute < 25 ? 0 : rounded.Minute > 55 ? 60 : 30;
rounded = rounded.AddMinutes(minutes - rounded.Minute);
Часы сами увеличатся, если мы добавим 60.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть форма (это пример)Как сделать все границы самой формы уже, кроме верхней? Хотелось бы на выходе получить вот так:
Есть база SQLite, с таблицами - Messages и UsersСодержит примерно 100 000 пользователей
Как сделать так, чтобы перемещение формы осуществлялось не только за верхнюю границу, а за любую часть данной формы?