PHP оставшееся время в процентах - PullRequest
4 голосов
/ 19 марта 2011

Я создаю страницу обслуживания системы, которая показывает, когда выполняется обслуживание системы. На странице есть индикатор выполнения, который показывает, сколько технического обслуживания было выполнено. Я пытаюсь автоматизировать индикатор выполнения, вычисляя процент / время, оставшееся до окончания периода обслуживания системы, но у меня возникли проблемы.

В базе данных хранятся три разных времени: время начала, время окончания и текущее время. Мне нужно уметь вычислять оставшееся время технического обслуживания и показывать его в индикаторе выполнения, переходя с 1% до 100%. Скрипт должен быть в состоянии вычислить, сколько времени прошло между временем начала и временем окончания.

Первоначально я пытался вычислить процентное соотношение между двумя значениями времени (текущее время и время окончания), но это не сработало, поскольку в уравнении должно быть три фактора - время начала, время окончания и текущее время. .

Любая помощь по этому вопросу будет принята.

Ответы [ 2 ]

5 голосов
/ 19 марта 2011

Я предполагаю, что вы храните время начала и окончания как метку unixtime.

По сути, все, что вам нужно сделать, это определить процент прошедших секунд по отношению к общему количеству секунд.

Так что-то вроде:

$total_secs = $end_time - $start_time;

$elapsed_secs = time() - $start_time;

$percent = round(($elapsed_secs/$total_secs)*100);
4 голосов
/ 19 марта 2011

Чтобы получить процент выполнения было бы так:

$ complete = (($ current - $ start) / ($ end - $ start)) * 100;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...