Мне нужно рассчитать несколько событий сна за 24- и 48-часовой период прокатки.Нужно вычислить прошедшее время по «сдвинутому окну» (PHP)
Расчеты времени сами по себе не являются проблематичными, так как это касается периода прокатки.
То, что я имею в виду под «прокатной период» выглядит следующим образом: сон
сдвиг рабочего записывается в секундах, прошедшее с начала. Это легко управлять.
Но то, что мне нужно для захвата, - это то, сколько сна у сменщика было в течение 24 часов и 48 часов до определенного времени, например, 4 часа дня. Но конкретное время меняется.
Итак, наш сменный рабочий спит 1 сентября с 01:00 до 08:00 и имеет выходной день. Она спит снова 1 сентября с 22:00 до 06:00 2 сентября и начинает работу в 06:30 2 сентября.
Мне нужен алгоритм для расчета того, сколько сна у нее было за 24 часа до с 6:30 утра (т. е. с 6:30 1 сентября) и за 48 часов до этого.
Я даже не могу думать, как это просто описать, давайте сделаем алгоритм.
Все, что я могу придумать, состоит в том, чтобы иметь массив из 48 элементов, каждый из которых представляет собой час, а во время записи сна заселяют каждый массив, когда часть каждого часа спала, а затем катит массив каждый час.
Доверие к мозгам?
Как хранятся время сна и время работы? Можете ли вы показать мне свои переменные. Это может помочь узнать, как это записывается в db. –
Привет @SmithSmithy. Я еще не закодировал эту часть проекта, потому что я хотел сохранить открытый разум. Данные поступают с использованием текстового формата для времени запуска сна, в котором я буду использовать строковые функции для синтаксического анализа (необработанный формат, над которым у меня нет контроля, выглядит так: 28 апреля 2014 года в 06:08 утра) и прошедшее время находится в секундах. –