Расчет времени

Umbrella

Продвинутый
Скажите, как можно наладить отчет по времени?
Например, человек отработал 1 час 20 минут.
Если вносить данные как 80 минут и делить на 60, то получаем 1,33, т.е. визуально это 1 час 33 минуты, а на самом деле время другое.
И вот с чем столкнулся я:
5,30 ч. -> 330 мин.
7,40 ч. -> 460 мин.
9,35 ч. -> 575 мин.
4,35 ч. -> 275 мин.
6,00 ч. -> 360 мин.
6,15 ч. -> 375 мин.
5,20 ч. -> 320 мин.

По часам: 43,75 ч.= 44 часа 15 минут или 43 часа и 75 часть от 60-и, т.е. 43 часа и 45 минут - это не верно
По минутам: 2695 мин. / 60 мин. = 44, 91. Т.е. визуально это 44 часов и 31 минута или это 44 часа и 91 часть от 60-и, т.е. 44 часа 55 минут.
 

Vladimir

Администратор
Команда форума
Естественно, что деля 80 на 60 вы получаете 1,33, ведь 33 - это остаток от деления в десятеричной системе счисления.
Чтобы остаток от деления получился 20 - надо использовать шестиричную систему счисления, которую в этом мире пока не используют.
Для нужного результата надо из исходного числа минут вычитать целое число полученных часов, умноженных на 60.
 

Ирина

Модератор
Команда форума
У меня такая идея возникла)
В Excel времени суток соответствует дробная часть числа:
сутки - 1/24
минута – 1/24/60
секунда - 1/24/60/60
Используя эти дроби, можно перевести часы/минуты в минуты (часы/минуты/секунды в секунды) и наоборот.

Час мин в минуты.png Мин в час мин.png

Правда в Excel при использовании формулы имеет значение формат ячейки. Т.е. обычное число в общем формате, а время – в формате время.
Если знать принцип формата ячеек, времени 21:39 (на фото) соответствует число 0,902083, то тогда и в Руне возможно это реализовать?
 

Ирина

Модератор
Команда форума
У меня все-таки получилось найти решение :)

Перевести минуты в ЧАСЫ И МИНУТЫ
Здесь все просто. Использованы формулы из поста Расчёт продолжительности рабочего дня

Перевести часы и минуты в МИНУТЫ
Для преобразования использовалась маска 00:00, чтобы была возможность применить функцию Split.
Т.к. маска имеет значение 00:00, в строку "Часы : минуты" обязательно вносить время в часах до 10 в двухзначном формате.
Например, 9 часов это 09.
Разделить ":" ставить не нужно, после ввода часов программа автоматически переведет курсор на ввод минут.

P.S. В переводе часов и минут в минуты есть ограничение до 99 часов 59 минут.
При желании, можно изменить время в часах на большее значение, изменив маску и добавив функцию Split.
 

Вложения

Ирина

Модератор
Команда форума
В проекте исправлен пример перевода часов и минут в минуты.
Удалены лишние строки, т.к. изначально выборка символа времени была по каждой цифре, что контрпродуктивно)
Для выборки чисел использована функция Split, но ее можно заменить на стандартную функцию выборки символов. Пример такой выборки в "Скорость спортсмена".

Пример "Производительность труда"
Заполнив время начала и окончания работы сотрудника и количество произведенных им деталей, программа автоматически рассчитает "Рабочее время" (в часах и минутах) и "Производительность труда в час".
Производительность труда-min.png

Пример "Скорость спортсмена"
Т.к. в конструкторе нет формата времени в минутах и секундах (а иногда нужны еще и доли секунд), реализовано это так:
Маска в строке "Время гонки" - 00:00.00
Маску можно не применять, но тогда не совсем удобно вводить время. Знаки разделители между минутами и секундами (":"), и секундами и долями секунд (".") придется вписывать вручную.
В примере использована стандартная функция выборки, а не Split.

Заполнив время гонки (минуты и секунды с долями секунд) и длину трассы, программа автоматически рассчитает "Скорость км/ч".
Скорость спортсмена-min.png

P.S. После закрытия вопроса со временем, доделаны все незавершенные проекты)
 

Вложения

Сверху Снизу